0

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

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

variables:
  var2: varVal2

trigger:
- master

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

steps:
- script: echo $(var2)

在接下来的这一次,我使用变量说明符语法定义变量,它再次正常工作。msdn 参考在这里

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)
4

1 回答 1

1

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

上面的文档说,当您想使用变量模板或变量组时,变量说明符可用作替代语法。虽然文档没有说这两种语法不兼容,但经过测试我们发现如果它们一起出现,构建 yaml 定义会出现错误。

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

如果要在 yaml 定义中启用此功能。您可以向Microsoft 开发团队提交功能建议。希望他们将来会考虑实施此功能。

单击建议功能 -> 选择 Azure Devops 在此处输入图像描述

于 2019-12-30T02:52:16.010 回答