Я настроил интеграцию Gitlab Jenkins с 3 веб-крюками для 3 заданий jenkins вместе с «Опубликовать статус сборки в Gitlab» в действии после сборки. Возникла проблема, как объяснено ниже.
Установка:
Jenkins версия V2.152, Gitlab версия 11.7.0-ee, 3 Webhooks для 3 заданий jenkins
Дженкинс вольный проект
Jenkins Git: спецификатор ветки - origin / $ {gitlabSourceBranch}
Дженкинс Триггер:
Выбрал «Построить, когда изменение отправлено в GitLab» с событиями Push, Открытыми событиями запроса на слияние, Восстановить открытые запросы на слияние при передаче в исходную ветку и комментировать
Проблема:
Трубопровод остается в состоянии ожидания навсегда : Если задание jenkins не запущено и ветка обновлена, создается отдельный конвейер для фиксации, который отслеживает все 3 задания jenkins. Но если выполняется какое-либо задание jenkins и ветвь обновляется, то для одного идентификатора фиксации создаются три отдельных конвейера, по одному на одно задание jenkins. В этом случае, как только запускается любой из проектов дерева jenkins, только последний конвейер меняет свое состояние на работающее, которое теперь начинает отслеживать все 3 задания jenkins, а два других конвейера остаются в состоянии ожидания навсегда, они никогда не запускаются и не отменяются. , Я также выбрал Автоматическая отмена резервной функции ожидающих конвейеров , но она работает.
Ожидаемый:
В Gitlab он всегда должен создавать отдельный конвейер для каждого задания и отслеживать их ИЛИ должен создавать отдельный конвейер для каждого коммита и отслеживать все задания.
Как можно избежать наличия ожидающих конвейеров, которые никогда не меняют свой статус? Или как я могу запустить автоматическую отмену избыточной функции ожидающих конвейеров ?