gpt4 book ai didi

azure - Azure Pipeline 模板中的动态变量

转载 作者:行者123 更新时间:2023-12-03 20:53:57 24 4
gpt4 key购买 nike

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

为了获取 Azure Key Vault 中的 key ,我使用以下任务。这是有效的,因为它找到了键并且不会给我一个错误。

- task: AzureKeyVault@1
inputs:
azureSubscription : '_MyServiceConnectionHere_'
KeyVaultName : '_MyVaultNameHere_'
SecretsFilter : '${{ parameters.websiteName }}-AppPoolUsername,${{ parameters.websiteName }}-AppPoolPassword'

这就是我在 IIS Web 应用程序管理任务中使用它们的方式。 (以下相关部分我已缩写。)

- task: IISWebAppManagementOnMachineGroup@0
displayName: Update Website and App Pool
inputs:
AppPoolNameForWebsite: ${{ parameters.websiteName }}
DotNetVersionForWebsite: 'No Managed Code'
AppPoolIdentityForWebsite: 'specificUser'
AppPoolUsernameForWebsite: ${{variables['${{parameters.websiteName}}-AppPoolUsername']}}
AppPoolPasswordForWebsite: ${{variables['${{parameters.websiteName}}-AppPoolPassword']}}
AppPoolName: ${{ parameters.websiteName }}

此处,用户名和密码无法解析。正如您所看到的,我尝试使用以下语法检索它们:

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

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

最佳答案

在 IISWebAppManagementOnMachineGroup 任务中,您只需使用 $(xxx) 即可获取变量作为普通变量。

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

要在以下任务中使用 Azure Key Vault secret ,只需使用 $(secret_name)。

secret_name 是您在 Azure Key Vault 中创建的名称。

另请查看此博客中的详细示例:Using secrets from Azure Key Vault in a pipeline

关于azure - Azure Pipeline 模板中的动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61617771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com