为什么我的变量组变量有一个空值?
Why do my variable group variables have an empty value?
我设置了一个名为 secret-variables
的变量组,并允许它访问我的管道。
在我的管道中,我使用了一个变量模板,并在该变量模板中定义了变量组。我使用模板表达式语法将变量从变量模板传递到管道模板。
azure-pipelines.yml
:
trigger:
- master
pool:
vmImage: windows-latest
variables:
- template: pipeline-variables.yml
stages:
- template: templates/myPipelineTemplate.yml
parameters:
mySecretVariable: ${{ variables.mySecretVariable }}
pipeline-variables.yml
:
variables:
# secret-variables contain mySecretVariable
- group: secret-variables
- name: foo
value: bar
然而 myPipelineTemplate.yml
中 mySecretVariable
的值为空。我错过了什么?
变量组似乎不支持模板表达式语法。需要改用宏语法,把stage中的代码改成:
stages:
- template: templates/myPipelineTemplate.yml
parameters:
mySecretVariable: $(mySecretVariable)
之所以可行,是因为宏语法在运行时求值,而模板表达式在编译时求值。
我设置了一个名为 secret-variables
的变量组,并允许它访问我的管道。
在我的管道中,我使用了一个变量模板,并在该变量模板中定义了变量组。我使用模板表达式语法将变量从变量模板传递到管道模板。
azure-pipelines.yml
:
trigger:
- master
pool:
vmImage: windows-latest
variables:
- template: pipeline-variables.yml
stages:
- template: templates/myPipelineTemplate.yml
parameters:
mySecretVariable: ${{ variables.mySecretVariable }}
pipeline-variables.yml
:
variables:
# secret-variables contain mySecretVariable
- group: secret-variables
- name: foo
value: bar
然而 myPipelineTemplate.yml
中 mySecretVariable
的值为空。我错过了什么?
变量组似乎不支持模板表达式语法。需要改用宏语法,把stage中的代码改成:
stages:
- template: templates/myPipelineTemplate.yml
parameters:
mySecretVariable: $(mySecretVariable)
之所以可行,是因为宏语法在运行时求值,而模板表达式在编译时求值。