LINUX.ORG.RU

CI/CD Запуск джоба по условию

 ,


0

1

Хочу сделать, чтобы джоб mydeploy1 запускался только если я вручную выбрал запуск джоба mybuild1.

stages:
  - build
  - deploy

mybuild1:
  stage: build
  when: manual
  tags:
    - tag1
  variables:
    VAR: "1"
  script:
    ...

mydeploy1:
  stage: deploy
  tags:
    - tag1
  rules:
    - if: '$VAR == "1"'
      when: on_success
  script:
    ...

Запускаю из интерфейса гитлаба mybuild1 вручную, он отрабатывает, а mydeploy1 в списке джобов не появляется и не отрабатывает.

Подскажите, как это правильно сделать?

Ответ на: комментарий от anonymous
mydeploy1:
  stage: mydeploy1
  when: manual
  allow_failure: true
  tags: [tag]

Хотя так тоже будет работать. Главная проблема, что ты в списке стейджей его не указал. Ещё замечал, что при редактировании .gitlab-ci.yml в WEB-редакторе gitlab гитлаб некорректно обновлял кнопки в pipeline, поэтому делай через commit в командной строке.

anonymous
()

Хочу сделать, чтобы джоб mydeploy1 запускался только если я вручную выбрал запуск джоба mybuild1.

На самом деле гораздо лучше привязаться либо к тексту коммита, либо к созданию tag, а не к ручному запуску.

build-release:
  stage: build-release
  rules:
    - if: $CI_COMMIT_MESSAGE =~ /^Release/
  script:
...
release_job:
  stage: release
  rules:
    - if: $CI_COMMIT_TAG
  script:
vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 1)