此Azure Pipelines构建yaml模板中的'azureRmConnection.Id'是什么,以及如何使用它?

问题描述 投票:0回答:2

问题摘要

我正在尝试构建项目并将其部署到Azure Web App。我已经设置了Azure Web App。对于构建管道,我从Microsoft获得了以下构建YAML模板:

https://github.com/microsoft/azure-pipelines-yaml/blob/master/templates/node.js-react-webapp-to-linux-on-azure.yml

我不知道YAML模板的{{ azureRmConnection.Id }}部分中的variables是指什么或如何使用它。

背景

双括号({{ }})语法用于计算表达式,而管道变量则以dollar($())语法引用。因此,我认为azureRmConnection是构建应该已经可以访问的东西,而不是需要设置管道变量的东西。

我尝试过的

代码

variables:

  # Azure Resource Manager connection created during pipeline creation
  azureSubscription: '{{ azureRmConnection.Id }}'

预期和实际结果

预期

我希望构建具有有效的azureRmConnection.Id,因此不会因缺少或无效而失败。

实际

构建失败,出现以下错误:

存在资源授权问题:“管道无效。作业部署:步骤输入azureSubscription引用服务连接{{azureRmConnection.Id}},该服务连接不存在。服务连接不存在或尚未被授权有关授权的详细信息,请参见https://aka.ms/yamlauthz。“

azure azure-devops azure-pipelines azure-web-app-service azure-pipelines-build-task
2个回答
1
投票

您需要做的是遵循this link并创建一个AzureRm服务连接,并使用其名称代替该占位符:

azureSubscription: 'my-azurerm-connection-name-goes-here'

0
投票

我尝试使用'Node.js React Web App到Azure上的Linux创建新管道。我确实以为我已经尝试过了,但是以前我一定使用过其他方法。这有几个阶段。

该向导使我可以从下拉菜单中选择Azure Web App和Azure订阅。

这些变量现在在YAML中看起来像这样:

variables:
  azureSubscription: '1234xx56-xx7x-[...]'
  webAppName: 'my-azure-web-app-name'
  environmentName: 'my-azure-web-app-name'

azureSubscription是我的Azure订阅ID。

webAppName是我先前在Azure门户上设置的Azure Web应用程序的名称。

构建现已成功运行。

© www.soinside.com 2019 - 2024. All rights reserved.