случае фэйла предыдущей. Пример. Я собираю сначала образ. Затем — запускаю тесты. При этом, если хотя бы одна из стадий завалилась, мне нужно удалить образ и остановить все контейнеры. Я могу воспользоваться when: on_failure и написать для каждой из двух стадий clean. Но тогда, если падение произойдёт на стадии build, будут выполняться и clean build и clean test. А хотелось бы, чтобы выполнился только clean build. Как решить эту задачу?
clean build:
stage: test
when: on_failure
script:
- make docker-stop
- make docker-clean
clean test:
stage: clean test
when: on_failure
script:
- make docker-stop
- make docker-clean
build:
stage: build
when: manual
allow_failure: false
script:
- make docker-run-full
- make docker-build
test:
stage: test
when: on_success
allow_failure: false
script:
- make docker-run-full
- make docker-run-test
- make docker-stop
А почему не хотите через миксин? clean_build_script: &clean_build_script - clean build cleanup test: stage: clean test script: - *clean_build_script - clean test script when: on_failure
Обсуждают сегодня