【问题标题】:How to access same variable from different variable group Azure Pipeline?如何从不同的变量组 Azure Pipeline 访问相同的变量?
【发布时间】:2020-03-25 12:12:04
【问题描述】:

我正在使用 azure-pipelines.yaml 构建多个阶段,每个阶段具有相同的变量,即 var_key,但每个阶段的值不同,为此我有不同的 Azure 库组

  1. dev_group
  2. qa_group

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)

这给了我一个错误,有没有正确的方法。

【问题讨论】:

标签: azure azure-devops yaml azure-pipelines azure-pipelines-release-pipeline


【解决方案1】:

以后,在您询问有关 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

再次阅读架构文档。这一切都有很好的记录。

【讨论】:

  • 嗨@Daniel 感谢您的回复,我已经浏览了文档但我找不到它,所以我不想使用模板,如果我提供 - name: string # name of a variable value: string # value of the variable as你说这就像指定硬编码值,但我想从每个阶段的组中获取它但是我的每个组包含 10-15 个变量,所以我不能添加所有变量,比如名称值对。
  • @NaveenKumar 我不明白这个问题。指定一个组将在您指定的范围内导入该组中的所有变量。您正在尝试解决的具体问题是什么?您只想使用变量组中的 一些 个变量吗?
  • 我想使用所有变量,但问题是两个组中的变量名称相同我想在一个阶段使用 group1 变量,在第二阶段使用 group2 变量。如果我理解正确,您想说的是在舞台范围内使用组而不是全局。
  • 是的,您在要使用这些变量的范围内指定变量组。文档显示了哪些范围支持导入变量。
  • 谢谢@Daniel,我会尽力让你知道的。
猜你喜欢
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多