对YAML中的变量组使用管道变量?

时间:2020-08-13 09:40:56

标签: azure-devops azure-pipelines

我想为我们的解决方案使用通用的管道定义。使用变量,我想指定解决方案的特定设置。除变量组外,此方法有效。

我想在变量组定义中使用管道定义。 例如:

  • 组:$(Build.DefinitionName).Dev

但这不起作用。另一种选择是使用管道变量,但都不起作用:

  • 组:$(buildDefinitonName).Dev
  • 组:{{variables.buildDefinitonName}}。Dev

什么是有效的参数,但我不想为每次运行指定它。

  • 组:$ {{parameters.buildDefinition}}。Dev

2 个答案:

答案 0 :(得分:0)

一种选择是在模板中使用部署,并将变量组的作用域限定为该模板中的作业。传递到模板中的参数将是环境。

这是模板的外观:

  jobs:
  - deployment:  Deploy_JobName
    variables:
    - group: 'ProjectName${{ parameters.stage}}'

模板中的参数如下:

parameters:
- name: stage
  type: string

此模板将从工作中调用:

jobs:
  - template: template.yml
    parameters:
      stage: ${{ parameters.stage }}

答案 1 :(得分:0)

感谢您的回复。发现了

  • 组:$ {{variables ['Build.Definition']}}。Dev

也可以。因此,您可以使用预定义变量,但不能使用管道变量。