Интеграция Jenkins и GitLab CI с несколькими филиалами и отдельными конвейерами
Я тестирую метод Jenkins CI/CD. Существует одно git-репо с веткой Master, веткой QA и веткой Dev. Есть также много отдельных веток разработчиков и функций, которые объединяются в dev. Ветвь dev объединяется до qa и qa до master.
У меня есть среда jenkins, использующая плагин gitlab, где есть папка, содержащая многоотраслевой конвейер, который запускает файлы jenkin в ветвях разработчика / компонента при любом коммите. Он игнорирует ветки master, dev и qa. В папке также 4 конвейера, 3 из которых обрабатывают запросы на слияние для каждой из основных ветвей. Четвертый - это просто сценарий развертывания для мастера.
Проблема заключается в том, что статус коммитов GitLab для запросов на слияние отказывается работать, когда есть многоотраслевой конвейер. Тег CI просто говорит, что не может подключиться к службе CI после отправки запроса на слияние. Однако, если я удаляю многоотраслевой конвейер, тег состояния CI немедленно начинает работать.
Обратите внимание, что сборки в Jenkins по-прежнему работают нормально, проблема заключается в тегах состояния gitlabs.
Любые идеи о том, как это исправить?
редактировать: когда я читал это после отправки, я понял, насколько глупо иметь 3 конвейера для запросов на слияние, теперь только 1, который обрабатывает все 3 ветви
1 ответ
Оказывается, что gitlab был сломан и плохо поддерживает расширение конвейеров. Кроме того, я неправильно коррелировал разветвленные трубопроводы. Эта ошибка будет исправлена в следующем патче с этой даты (9.3.3)
См. Слияние по адресу https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12478