@akdes

Gitlab CI старт только по тегу, но разный пайп на каждую ветку, как?

Привет всем.

Задача:
запуск пайплайна при создании тега. При этом необходимо разделять Branches
т.е. создаю Tэг 1.0.0 из дева - один процесс
а если Тэг 1.0.0 из мастера - другой

Попытка:
Для реагирования на тэг добавил в .gitlab-ci.yml к каждому stage
only:
        - /^(\d+\.)?(\d+\.)?(\*|\d+)$/

тэги типа 1.0.0 и это вполне хорошо работает, но мне необходимо иметь разные задачи в зависимости от исходной ветки, для develop своя, для master своя и т.д.

И вот тут то я встал... находил кучу feature_requests, но все они закрыты или открыты без решения.

Может кто-нибудь посоветовать что-то?

На крайний случай буду делать тэг, типа dev-1.0.0 и master-1.0.0 и отлавливать это в only, но вдруг есть идея получше?

Gitlab CE 11.6.4 на локалке

Заранее благодарен.

UPD: Да, я знаю, что commit может быть на всех ветках одновременно, и что логика объяснений не правильна. Но задача имеет место быть. Тэг некий триггер, для каждой ветки свои задачи...
  • Вопрос задан
  • 1200 просмотров
Пригласить эксперта
Ответы на вопрос 2
gecube
@gecube
системный администратор, программист... все дела..
1. можно в самом пайплайне при помощи переменных или прямого обращения к git - определять какая ветка и выполнять конкретное действие. Проблема только лишь в том, что это не очень наглядно. И такой скрипт может быть с наскока сложно написать
2. Использовать расширенный синтаксис gitlab:
https://docs.gitlab.com/ee/ci/yaml/#rules или https://docs.gitlab.com/ee/ci/yaml/#onlyexcept-advanced
Ответ написан
@majstar_Zubr
C++, C#, gamedev
Для такой задачи нужно транслировать условия, задаваемые с помощью only и except, используя двойные отрицания.

https://gitlab.com/gitlab-org/gitlab-foss/issues/2...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы