#jenkins #gitlab #jenkins-pipeline #gitlab-ci
#дженкинс #gitlab #дженкинс-конвейер #gitlab-ci
Вопрос:
Мы настроили Gitlab с интеграцией с Jenkins, используя плагин Jenkins Gitlab и запуск веб-страниц Дженкинса (задание обычного типа конвейера) в событиях запроса слияния gitlab (настроено в Gitlab-> Repo-> Integrations), и мы успешно отображаем статус сборки задания на странице запроса слияния (используя updateGitlabCommitStatus в конвейере) — он отображается в виде статус некоторого конвейера, который, как я понимаю, создан и связан с последней фиксацией в исходной ветви.
В какой-то момент я отменил этот конвейер со страницы MR и после этого закрыл и снова открыл MR, таким образом, повторно запустив сборку.
К сожалению, после отмены конвейера последние статусы заданий сборки не были отражены ни в MR, ни в самом конвейере. На странице конвейера даже не отображались бы новейшие задания, запущенные в jenkins.
Я попытался удалить этот конкретный конвейер (через curl — мы используем gitlab 12.3, который не позволяет удалять конвейеры через графический интерфейс) и создать новый запрос на слияние (та же ветвь, та же фиксация), надеясь, что в этом случае будет создан новый конвейер, но ничего. Кажется, у меня нет средств для повторного отображения статуса сборки для этого конкретного коммита.
Есть предложения, как это преодолеть? Заранее спасибо!
Ответ №1:
У меня похожий случай, и единственный способ сделать это — повторно запустить конвейер из GitLab… Вам нужно войти в интеграции, и там вы должны искать все запросы, отправленные в Jenkins. Как только вы найдете правильный, вы нажимаете «Повторно отправить», и он должен предоставить вам правильный статус.
По моим наблюдениям, команда обновления статуса GitLab работает только тогда, когда она вызывается из webhook.