我开始使用Azure,并尝试了以下步骤:
- task: AzureResourceManagerTemplateDeployment@3
,其模板带有参数。如何满足变量组中的参数?答案 0 :(得分:7)
您可以尝试使用 overrideParameters 参数执行任务,以用变量组中定义的变量覆盖ARM模板的参数。检查here以获得有关此任务的更多参数。
- task: AzureResourceManagerTemplateDeployment@3
inputs:
azureResourceManagerConnection: <connection>
overrideParameters: -storageAcctName azurerg -Username $(vmusername) -azureKeyVaultName $(fabrikamFibre)
要访问AzureKeyVault,您还可以使用Azure Key Vault task在构建管道中获取秘密,或如@Daniel Mann所指出的那样将KeyVault集成到ARM模板中。查看here以获得Microsoft官方教程。
答案 1 :(得分:-1)
变量组不打算与YAML管道一起使用。在您的管道中添加一个AzureKeyVault
步骤,以便从密钥库中检索秘密。
或将您的ARM模板直接链接到密钥库; ARM模板具有对keyvault参数的本地支持:
"adminPassword": {
"reference": {
"keyVault": {
"id": "/subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<vault-name>"
},
"secretName": "ExamplePassword"
}
}
或者编写您的应用程序以在运行时直接从密钥库中检索机密。