我如何将变量组的作用域限定为仅在管道模板中?

时间:2020-10-18 18:10:15

标签: azure-devops azure-pipelines

我正在考虑使用variables in a pipeline template

  1. 我希望模板接受variable group name作为参数
  2. 当我从模板加载变量组时,我不希望将值暴露给管道的其余部分。

我想要创建的模板的目的是获取一个变量并将其转换为文件并将其存储为Docker机密。

我想我需要az pipelines variable group variable list命令来获取条目,但是我找不到能告诉我显示该值的参数,即使它是秘密。

1 个答案:

答案 0 :(得分:1)

我也没有找到从CLI获取机密值的方法,但是我提出了将变量范围限制为特定作业的想法。您可以将变量组名称作为参数传递,然后在仅用于创建Docker机密的工作中使用它:

27

然后

parameters:
- name: variableGroupName # name of the parameter; required
  type: string # data type of the parameter; required
  default: 'PROD'  
  
jobs:
- job: Ubuntu
  pool:
    vmImage: 'ubuntu-latest'
  variables:
  - group: ${{ parameters.variableGroupName }}
  steps:
  - script: |
      echo '$(armConnection)'
      echo '$(myhello)'
      echo '$(secretVar)'
    continueOnError: true
  - script: env | sort

jobs: - template: jobs.yaml # Template reference parameters: variableGroupName: 'my-variable-group' armConnectionmyhello是变量组的秘密。这对您来说就足够了,还是您想将所有变量从组中放入而不用yaml编写?