我在使用 AzureKeyVault 任务的变量表达式时遇到了困难。azureSubscription 和 KeyVaultName 值表达式都不能被解析为变量组中的变量。如果我在 yaml 文件中手动定义这些变量,无论是在 azure-pipelines.yml 中还是在我在阶段开头导入的模板 variables_test.yml 中,它都可以工作。
我在文档中读到,应该像这样使用变量组中的变量 $(var),但然后它会抛出一个错误,说订阅 '$(var)' 不存在。
重要的是需要注意,这些变量在变量组中没有设置为机密变量。
我在文档中读到,应该像这样使用变量组中的变量 $(var),但然后它会抛出一个错误,说订阅 '$(var)' 不存在。
Template: azure-pipelines.yml:
- stage: Test
variables:
- template: variables_Test.yml # Template reference
- group: testVariableGroup
dependsOn: []
jobs:
- job: Test
steps:
- task: AzureKeyVault@1
inputs:
azureSubscription: ${{ variables.spn_kv_app }}
KeyVaultName: ${{ variables.keyVaultName }}
SecretsFilter: '*'
从暂存区的日志中,我可以看到变量组中设置的变量:
Job preparation parameters
Variables:
keyVaultName: $[ variablegroups.testVariableGroup.keyVaultName ]
resourceGroupName: $[ variablegroups.testVariableGroup.resourceGroupName ]
spn_cd_app: $[ variablegroups.testVariableGroup.spn_cd_app ]
spn_kv_app: $[ variablegroups.testVariableGroup.spn_kv_app ]
storageAccountName: $[ variablegroups.testVariableGroup.storageAccountName ]
重要的是需要注意,这些变量在变量组中没有设置为机密变量。
azureSubscription
和其他几个值相同的问题。 - Gregg LazureSubscription
字段,但我还没有尝试过Azure Powershell. - Gregg L