0

环境变量TEST_SECRETS应包含来自 azure 密钥库的秘密。这可以通过如下所示的 AzureKeyVault 任务来实现

- task: AzureKeyVault@2
          displayName: Credential Fetch
          inputs:
            connectedServiceName: 'KVfetch'
            KeyVaultName: 'kv_abc_devops'
            SecretsFilter: 'db-primarykey-dev'
            RunAsPreJob: true

如何将db-primarykey-dev的值传递给TEST_SECRETS

我可以按如下方式使用变量吗?

variables:
- name: TEST_SECRET
  value: $db-primarykey-dev

我尝试在测试之前传递变量它不起作用

- task: CmdLine@2
          displayName: Integration Tests
        - script: |
            echo 'TEST_SECRET = $db-primarykey-dev'
            pytest test/integration --verbose -s
4

2 回答 2

1

您可以使用 env 映射执行此操作:

- task: CmdLine@2
  displayName: Integration Tests
- script: |
    pytest test/integration --verbose -s
  env:
    TEST_SECRET: $(db-primarykey-dev)
于 2022-01-12T12:48:31.127 回答
1

另外,请检查并尝试通过在azurekeyvault 任务的输入下指定 azureSubscription 字段,如果通过替换连接的服务名称或通过包含作为附加参数会有所不同:

azureSubscription: 'YOUR SUBSCRIPTION HERE'  

尝试使用 > echo $(TEST_SECRET) 。请参阅此文档以供参考。查看您是否缺少输入标签

- task: CmdLine@2 
  displayName: Integration Tests
     inputs: 
        script: echo $(TEST_SECRET) 

请参阅参考资料。我们也可以像@Krzysztof Madej 所说的那样进行环境映射

于 2022-01-12T13:16:34.660 回答