我是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)
答案 0 :(得分:0)
documents描述变量说明符是另一种语法,当您要使用变量模板或变量组时很有用。在这种替代语法中,variables关键字采用变量说明符的列表。变量指定的是常规变量的名称,变量组的组以及包含变量模板的模板
以上文档说,当您要使用变量模板或变量组时,变量说明符可作为备用语法。尽管文档中没有说这两种语法不兼容,但是在测试之后,我们发现build yaml定义如果将它们一起出现会产生错误。
使用键值对定义变量非常方便,建议使用此语法,除非您要使用变量模板或变量组。
如果要在Yaml定义中启用此功能。您可以submit a feature suggest前往Microsoft开发团队。希望他们将来会考虑实现此功能。