我正在使用azure-pipelines.yaml构建多个阶段,每个阶段具有相同的变量,即var_key,但是每个阶段具有不同的值,为此我具有不同的Azure库组
azure-pipelines.yaml
name: $(Date:yyyyMMdd)$(Rev:.r)
pr:
branches:
include:
- develop
- master
trigger:
branches:
include:
- develop
- master
variables:
group: group1, group2, group3
BuildNumber: $(Build.BuildNumber)
stages:
- stage: debug
jobs:
- job: DebugConditions
pool:
vmImage: 'ubuntu-latest'
steps:
- bash: echo $(group1.var_key)
- stage: dev
jobs:
- job: DevConditions
pool:
vmImage: 'ubuntu-latest'
steps:
- bash: echo $(group2.var_key)
这给了我一个错误,请问有正确的方法吗?
答案 0 :(得分:5)
将来,在询问有关YAML错误的问题之前,请先参考YAML schema documentation。
对该文档的快速查看显示:
variables:
group: group1, group2, group3
语法不正确。
要包含变量组,请切换到以下序列语法:
variables:
- name: string # name of a variable value: string # value of the variable
- group: string # name of a variable group You can repeat name/value pairs and group.
您还可以包括模板中的变量。
从中推断
variables:
- group: group1
- group: group2
- group: group3
在编写YAML配置文档时,遵循架构至关重要。它对空格敏感,因此请确保缩进正确。我建议使用安装了Azure Pipelines YAML扩展的VS Code之类的编辑器来帮助捕获此类问题。
除此之外,要仅在阶段中使用变量组,请在stage
块中引用它:
stages:
- stage: Foo
variables:
- group: DEVgroup
再次,阅读架构文档。这一切都有据可查。