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

问题描述 投票:0回答:1

我是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)
azure-devops yaml azure-pipelines
1个回答
0
投票

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

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

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

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

单击建议功能->选择Azure Devopsenter image description here

© www.soinside.com 2019 - 2024. All rights reserved.