【发布时间】:2020-06-09 06:32:30
【问题描述】:
我在使用 Azure Vault 存储我的机密和 .properties 文件来存储机密名称(因此它不是在管道中硬编码)并稍后从 Azure DevOps 管道访问它时遇到问题: .properties 文件:
...
SERVER_ADMIN_SECRET_NAME=server-password-test
...
我正在使用模板管道,它读取文件并将所有 key=values 导出为 $(property),并将相应的值作为全局属性 (##vso[task.setvariable variable=$KEY]$VAL)。
当我调用 Azure Key Vault 时,它会返回密钥名称和导出变量 $(server-password-test),以便以后使用。但是,我无法访问它,因为变量名是另一个变量$(SERVER_ADMIN_SECRET_NAME) 的值。解决方案应该在变量$($(SERVER_ADMIN_SECRET_NAME)) 中使用变量,但这在 Azure Pipelines 中不起作用。
我的管道如下所示:
...
- template: read_properties.yml
parameters:
file: config.properties
- task: AzureKeyVault@1
inputs:
azureSubscription: 'vault-service-connection'
KeyVaultName: 'test-playground'
SecretsFilter: '$(SERVER_ADMIN_SECRET_NAME)'
# TODO : How to fix this??
- task: CmdLine@2
inputs:
script: |
echo $($(SERVER_ADMIN_SECRET_NAME))
...
【问题讨论】:
标签: azure azure-devops