Как получить доступ к одной и той же переменной из другой группы переменных Azure Pipeline? - PullRequest
0 голосов
/ 25 марта 2020

Я использую 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)

это дает мне ошибку, есть ли правильный способ сделать это.

1 Ответ

1 голос
/ 25 марта 2020

В будущем, пожалуйста, обратитесь к документации схемы YAML , прежде чем задать вопрос об ошибке в YAML.

Краткий обзор этого документа показывает, что это:

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. Он чувствителен к пробелам, поэтому убедитесь, что вы делаете отступ правильно. Я рекомендую использовать такой редактор, как VS Code, с установленным расширением YAML Azure Pipelines, чтобы помочь выявить подобные проблемы.

Кроме того, чтобы использовать группу переменных только на этапе, вы ссылаетесь на нее в stage блок:

stages: 
- stage: Foo
  variables:
  - group: DEVgroup

Снова, прочитайте документацию схемы. Это все очень хорошо задокументировано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...