GitLab CI: пропустить этап, если с момента последнего выполнения конвейера не было зафиксировано никаких изменений
У меня есть репозиторий gitlab, который собирает и запускает все тесты при коммите / слиянии. При создании тега в основной ветке я размещаю артефакт на нашей связке.
Итак, вот что происходит с моей текущей конфигурацией ci:
- Слить ветку в мастер ->
build/test
- Тег слил мастер ->
build/test
,deploy
Как вы видите второй build/test
В этом случае задание на самом деле не нужно, так как между слиянием и тегом не было зафиксировано коммитов. Есть ли способ настроить условное задание, если с момента последнего выполнения конвейера не произошло никаких изменений?
1 ответ
Решение
На страницах GitLab действительно хорошая документация: https://docs.gitlab.com/ce/ci/yaml/README.html
Ваше решение было бы добавить это в ваш build/test
:
except:
- tags