使用键值对和变量说明符在yaml中为azure devops管道定义变量

时间:2019-12-28 13:02:10

标签: azure-devops yaml azure-pipelines

我是YAML的新手,正在尝试为azure devops管道创建一个简单的yaml文件。

在下面,我使用键值对定义变量,并且有效

variables:
  var2: varVal2

trigger:
- master

pool:
  name: 'azure pipelines'
  vmImage: 'windows-latest'

steps:
- script: echo $(var2)

这一次,我接下来使用变量说明符语法定义变量,并且它再次正常工作。 msdn引用为here

variables:
  -name: var3
  value: varVal3

trigger:
- master

pool:
  name: 'azure pipelines'
  vmImage: 'windows-latest'

steps:
- script: echo $(var3)

现在,当我尝试同时使用键值对语法和使用变量说明符时,它将不起作用。我想念什么?以下无效。

variables:
  -name: var3
  value: varVal3
  var4:varVal4

trigger:
- master

pool:
  name: 'azure pipelines'
  vmImage: 'windows-latest'

steps:
- script: echo $(var3)
- script: echo $(var4)

1 个答案:

答案 0 :(得分:0)

  

documents描述变量说明符是另一种语法,当您要使用变量模板或变量组时很有用。在这种替代语法中,variables关键字采用变量说明符的列表。变量指定的是常规变量的名称,变量组的组以及包含变量模板的模板

以上文档说,当您要使用变量模板或变量组时,变量说明符可作为备用语法。尽管文档中没有说这两种语法不兼容,但是在测试之后,我们发现build yaml定义如果将它们一起出现会产生错误。

使用键值对定义变量非常方便,建议使用此语法,除非您要使用变量模板或变量组。

如果要在Yaml定义中启用此功能。您可以submit a feature suggest前往Microsoft开发团队。希望他们将来会考虑实现此功能。

单击“建议功能”->选择“ Azure Devops” enter image description here