Gitlab CI / CD выполняет указанные c этапы вместо всех этапов - PullRequest
0 голосов
/ 13 января 2020

В моем файле gitlab-ci.yml есть несколько этапов,

Например:

stages:
  - one
  - two
  - three

Есть ли возможность запустить указанные этапы? В Makefile это называется «цели». Я хочу в разных случаях выполнять разные этапы. Например:

if [ <condition 1> ]; then
  run all stages;
if [ <condition 2> ]; then
  run stage "one"; 
if [ <condition 3> ]; then
  run stages "two" and "three"; 
fi

1 Ответ

1 голос
/ 13 января 2020

Вы можете сделать это на уровне задания, используя , если правила.

Кроме того, этап может содержать только одно задание. Итак, создайте 3 задания в вашем .gitlab-ci.yml, по одному на этап, и настройте правила следующим образом (см. Пример do c), например:

stages:
  - one
  - two
  - three

job_one:
  stage: one
  script: "echo Hello, stage one"
  rules: 
    - if: '$VAR == "string value"'

job_two:
  stage: two
  script: "echo Hello, stage two"
  rules: 
    - if: '$VAR == "string value"'

job_three:
  stage: three
  script: "echo Hello, stage three"
  rules: 
    - if: '$VAR == "string value"'  
...