# #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
условие на основе предыдущего состояния задания.