GitLab CI: пропустить этап, если с момента последнего выполнения конвейера не было зафиксировано никаких изменений

У меня есть репозиторий gitlab, который собирает и запускает все тесты при коммите / слиянии. При создании тега в основной ветке я размещаю артефакт на нашей связке.

Итак, вот что происходит с моей текущей конфигурацией ci:

  1. Слить ветку в мастер -> build/test
  2. Тег слил мастер -> build/test, deploy

Как вы видите второй build/test В этом случае задание на самом деле не нужно, так как между слиянием и тегом не было зафиксировано коммитов. Есть ли способ настроить условное задание, если с момента последнего выполнения конвейера не произошло никаких изменений?

1 ответ

Решение

На страницах GitLab действительно хорошая документация: https://docs.gitlab.com/ce/ci/yaml/README.html

Ваше решение было бы добавить это в ваш build/test:

except:
  - tags
Другие вопросы по тегам