将管道变量传递到ARM模板

时间:2020-07-31 01:35:36

标签: powershell variables azure-devops azure-pipelines

我正在寻找一个文本文件中的名称,将其设置为变量,然后将该变量传递到ARM模板中,以便在部署资源时,它包括文本文件中的名称。

当前,我的YAML文件设置为以PS命令开头,该命令用于设置变量并读取存储库中的文本文件。

  • task: PowerShell@2
    inputs:
    targetType: 'inline'
    script: 'Get-Content -Path $(Build.Repository.LocalPath)/ClientListTest.txt;Write-Host "##vso[task.setvariable variable=clientname]"'

此后,我为SQL Server部署了ARM模板,并希望将客户端名称的set变量传递到模板中,以便SQL Server名称包含该变量。

我是否需要在模板中添加一个变量字段,如果是的话,如何将PS /管道变量链接到模板中?

1 个答案:

答案 0 :(得分:0)

我是否需要在模板中添加一个变量字段,如果是的话,如何将PS /管道变量链接到模板中?

我们可以在ARM模板中创建一个参数,然后在使用Azure Resource Group Deployment任务时将变量clientname作为参数传递:

Write-Host ("##vso[task.setvariable variable=clientname]clientnameValue")

ARM模板文件deploy.json

...
"parameters": {
    "clientname": {
      "type": "string"
    }
}
...

ARM模板部署任务:

enter image description here

您可以查看此文档Using linked and nested templates when deploying Azure resourcesthis blog了解更多详细信息。