Azure管道模板中的动态变量

Azure管道模板中的动态变量,azure,yaml,azure-pipelines,azure-keyvault,Azure,Yaml,Azure Pipelines,Azure Keyvault,我正在开发一个模板,以帮助简化我们对本地IIS服务器的部署。用户名和密码存储在Azure密钥库中,但当我在Web应用程序管理任务中使用它们时,我无法访问它们。我想我只是把语法搞错了 要获取Azure密钥库中的密钥,我将使用以下任务。它的工作原理是找到钥匙,不会给我一个错误 - task: AzureKeyVault@1 inputs: azureSubscription : '_MyServiceConnectionHere_' KeyVaultName : '_MyVaul

我正在开发一个模板,以帮助简化我们对本地IIS服务器的部署。用户名和密码存储在Azure密钥库中,但当我在Web应用程序管理任务中使用它们时,我无法访问它们。我想我只是把语法搞错了

要获取Azure密钥库中的密钥,我将使用以下任务。它的工作原理是找到钥匙,不会给我一个错误

- task: AzureKeyVault@1
  inputs:
    azureSubscription : '_MyServiceConnectionHere_'
    KeyVaultName : '_MyVaultNameHere_'
    SecretsFilter : '${{ parameters.websiteName }}-AppPoolUsername,${{ parameters.websiteName }}-AppPoolPassword'
这是我在IIS Web应用程序管理任务中使用它们的方式。(我已将以下内容缩写为相关部分。)

在这里,用户名和密码无法解析。如您所见,我正尝试使用以下语法检索它们:

${{variables['${{parameters.websiteName}}-AppPoolUsername']}}

通过已组合的键名检索变量的正确语法是什么?

在IISWebapmManagementOnMachineGroup任务中,只需使用
$(xxx)
将变量作为普通变量

${{}
是编译时语法。您需要首先运行Azure Key Vault任务,以便在环境中生成变量

要在以下任务中使用Azure Key Vault secrets,只需使用$(secret\u name)

机密名称是您在Azure密钥库中创建的名称

另外,请查看本博客中的详细示例:

${{variables['${{parameters.websiteName}}-AppPoolUsername']}}