繁体   English   中英

无法在 Azure DevOps 中构建 angular 项目

[英]Cannot build angular project in Azure DevOps

我有 Angular 项目,我想构建到 Azure Web App

我创建了这个 yaml 来构建和部署

trigger:
- main

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '18.x'
  displayName: 'Install Node.js'


# - task: Npm@1
#   inputs:
#     command: 'install'
#     workingDir: 'schooly-angular'

- script: npm install -g @angular/cli
  displayName: 'npm install -g @angular/cli'

- script:  yarn
  displayName: 'yarn install'

- script: ng build --prod
  displayName: 'ng build'

- task: PublishBuildArtifacts@1

- task: AzureRmWebAppDeployment@4
  inputs:
    ConnectionType: 'AzureRM'
    azureSubscription: 'Azure subscription 1 (*********)'
    appType: 'webAppLinux'
    WebAppName: 'marifit-admin'
    packageForLinux: 'dist/'

但是我在尝试构建时遇到了这个错误

在此处输入图像描述

单击授权,没有帮助

我怎么能解决这个问题?

您似乎没有订阅 Azure 订阅 1 (*********) 的权限,或者此订阅不存在。 编辑 YAML 管道时,单击设置以显示帮助 >> 选择您的订阅 >> 单击授权为此订阅创建服务连接。

在此处输入图像描述

如果授权失败,则意味着您对该订阅没有足够的权限。 您需要获得对订阅的贡献者或所有者角色的尊重。 要获得相关权限,您需要获得订阅所有者的帮助。 这里有Assign a user as administrator of an Azure subscription供参考。

我尝试在我的环境中重现并得到以下结果,因此在此处分享它作为进一步参考:

task: AzureRmWebAppDeployment@4
    inputs:
    ConnectionType: 'AzureRM'
    azureSubscription: 'Azure subscription 1 (*********)'
    appType: 'webAppLinux'
    WebAppName: 'marifit-admin'
    packageForLinux: 'dist/'

该错误似乎此处使用的服务连接不存在。 要创建正确的服务连接,请按照以下步骤操作。

第 1 步:在云 shell 中使用以下命令为托管应用程序资源的订阅创建服务原则。

$az ad sp create-for-rbac –name <service-principle-name> --scope /subscriptions/<subscription-id>

在此处输入图像描述

记下密码、appID 和 tenantID。

第二步:按照第一步中提到的服务原理创建服务连接。

转到项目设置 > 服务连接 > 单击创建新服务连接。 在此处输入图像描述在此处输入图像描述

提交所有详细信息后,单击验证以确认它是有效连接。

在此处输入图像描述 . 在此处输入图像描述在此处输入图像描述

确保上面任务中的 azure 订阅名称与服务连接名称匹配

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM