【问题标题】:Defining variables in yaml for azure devops pipeline using key-value pairs and by using variable specifier使用键值对和变量说明符在 yaml 中为 azure devops 管道定义变量
【发布时间】:2020-04-18 00:54:12
【问题描述】:

我是 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】:

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

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

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

    如果您想在 yaml 定义中启用此功能。你可以submit a feature suggest 给微软开发团队。希望他们将来会考虑实施此功能。

    单击 Suggest a feature -> 选择 Azure Devops

    【讨论】:

      猜你喜欢
      • 2022-07-21
      • 2021-11-23
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 2020-05-14
      • 2022-09-23
      相关资源
      最近更新 更多