Azure Devops: как установить групповую переменную с помощью оператора if - PullRequest
1 голос
/ 01 апреля 2020

Я пытаюсь установить группу переменных в соответствии с одной переменной, которая существует в конвейере. Это выглядит следующим образом:

enter image description here

Но я получаю следующую ошибку при запуске конвейера:

enter image description here

Если я удалю "- группу: QA" или "- группу: PROD" , конвейер работает без каких-либо проблем. Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 02 апреля 2020

Это немного другое решение, но вы можете достичь своей цели - если я понял условный выбор группы переменных.

Вы можете использовать параметры времени выполнения:

parameters:
- name: environment
  displayName: Environment
  type: string
  default: QA
  values:
  - QA
  - PROD

stages:
- stage:
  displayName: 'Build and Restore'
  variables:
  - group: ${{ parameters.environment }}
  jobs:
    - job:
      steps:
      - script: echo $(name)

, чем запуск build, вы можете выбрать свою среду:

Running a build

Примечание. Я определил две группы переменных QA и PROD с именами переменных в обеих группах.

1 голос
/ 02 апреля 2020

Попробуйте использовать следующую схему:

variables:
  isProd: true

stages:
- stage: Test
  displayName: Build and restore
  variables:
  - ${{ if eq(variables['isProd'], 'false') }}:
    - group: QA
  - ${{ if eq(variables['isProd'], 'true') }}:
    - group: PROD
  jobs:
  - job: A
    steps:
    - bash: echo $(groupname)

enter image description here

Примечание: Вы можете получить некоторое красное предупреждение, когда Вы определяете выше YAML scipt. Не обращайте внимания на это запутанное предупреждение и продолжайте его запускать.

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