Ручное задание GitLab on_failure и автоматическое on_success

# #gitlab #conditional-statements #pipeline #jobs #manual

#gitlab #условные утверждения #gitlab-ci #Вакансии #инструкция

Вопрос:

Я не могу найти удовлетворительного решения для своего случая.

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

 stages:  - test  - validate  - build  lint:  stage: test  allow_failure: true  script:  - npm run lint  check:reducer:  stage: test  allow_failure: true  script:  - chmod  x ./check-reducers.py  - ./check-reducers.py $CI_PROJECT_ID $CI_COMMIT_BRANCH  except:  - master  - development  fail:pause:  stage: validate  allow_failure: true  script:  - echo The 'validate:reducer' job has failed  - echo Check the job and decide if this should continue  when: manual  needs: ["check:reducer"]  build:  stage: build  script:  - cp --recursive _meta/ $BUILD_PATH  - npm run build  artifacts:  name: "build"  expire_in: 1 week  paths:  - $BUILD_PATH  needs: ["fail:pause"]  

Я бы хотел, чтобы в случае check:reducer неудачи fail:pause дождаться ввода пользователя. Если check:reducer выход с 0, fail:pause должен запускаться автоматически или build должен запускаться.

Ответ №1:

К сожалению, это невозможно, так как when ключевое слово оценивается в самом начале конвейера (т. е. до выполнения любого задания), поэтому вы не можете установить when условие на основе предыдущего состояния задания.