Вольная работа Дженкинса и интеграция с Gitlab | с несколькими веб-крючками конвейеры остаются в состоянии ожидания навсегда - PullRequest
1 голос
/ 28 июня 2019

Я настроил интеграцию 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 он всегда должен создавать отдельный конвейер для каждого задания и отслеживать их ИЛИ должен создавать отдельный конвейер для каждого коммита и отслеживать все задания.

Как можно избежать наличия ожидающих конвейеров, которые никогда не меняют свой статус? Или как я могу запустить автоматическую отмену избыточной функции ожидающих конвейеров ?

...