Как мы можем условно запустить рабочий процесс CircleCI?

#devops #pipeline #circleci #circleci-2.0 #circleci-workflows

#devops #конвейер #circleci #circleci-2.0 #circleci-рабочие процессы

Вопрос:

Я следовал руководству, описанному в разделе Условные шаги в заданиях и условных рабочих процессах, и написал приведенный ниже код для моего конвейера CircleCI.

 version: 2.1

workflows:
 version: 2.1
 workflowone:
  when:
   condition: false
  jobs:
   - samplejob:

 workflowtwo:
  when:
   condition: true
  jobs:
   - jobone


jobs:

 samplejob:
  docker:
   - image: buildpack-deps:stable
  steps:
   - run:
       name: Sample Job in WF 1
       command: |
         echo "This job is in workflowone and the workflow should not run"

 jobone:
  docker:
   - image: buildpack-deps:stable
  steps:
   - run:
       name: Sample Job in WF 2
       command: |
         echo "This job is in workflowtwo and the workflow should run"
  

Когда я запускаю приведенный выше код, результат не соответствует ожидаемому. Первый рабочий процесс не должен выполняться, поскольку условие равно false . Оба worflow запускаются при запуске конвейера. Может кто-нибудь указать на недостающую часть здесь?

Ответ №1:

Согласно документам CircleCI, workflows (в частности) не принимает condition ключ:

Примечание: При использовании логических операторов на уровне рабочего процесса не включайте условие: ключ (ключ условия необходим только для логических операторов уровня задания).

Смотрите здесь logic-statement-examples (прокрутите до нижней части этого раздела, чтобы увидеть Примечание)