Трубопровод Jenkins для запроса на слияние в Gitlab - PullRequest
0 голосов
/ 21 мая 2018

В последнее время я начал использовать Jenkins, и мне нужна помощь в создании конвейера.

Я хочу создать следующий конвейер: для каждого запроса на слияние от разработки к мастеру в Gitlab, запуск задания Jenkinsкоторые запускают сквозной тест, и объединяют ветви в Gitlab, только если тест прошел успешно.

Я нашел следующую статью, которая дает мне объяснение большинства вещей, которые мне нужны: https://vetlugin.wordpress.com/2017/01/31/guide-jenkins-pipeline-merge-requests/

Я все еще ищу ответ на один вопрос: как Дженкинс может ответить на Gitlab с помощью результата сквозного теста (Success / Fail), поэтому Gitlab будет знать, следует ли объединить светки или нет?

Посоветуйте пожалуйста, спасибо!

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Вы не скажете нам, как связаны Gitlab и Jenkins, но я предполагаю, что вы используете плагин Jenkins Gitlab https://github.com/jenkinsci/gitlab-plugin. Если нет, возможно, вам следует:)

Сэтот плагин, вы можете «интегрировать» более глубоко Jenkins и Gitlab, и ваши сборки Jenkins отправят обратно в Gitlab результат сборки.Вы увидите что-то вроде этого https://raw.githubusercontent.com/teeks99/gitlab-plugin-wiki-images/master/Setup_Example_img/Result_commit.png. Результаты сборки отмечены рядом с коммитом, который был протестирован.

В этом случае для каждого запроса на слияние вы можете проверить кнопку «Слить, если сборка удалась»(см. https://raw.githubusercontent.com/teeks99/gitlab-plugin-wiki-images/master/Setup_Example_img/Merge_progress.png) для автоматического слияния кода при успешной сборке.

Посмотрите на плагин Jenkins Gitlab README для получения дополнительной информации и расширенных настроек, таких как проверка в вашей сборке результата слияния и т. д..

0 голосов
/ 21 мая 2018

Таким образом, Gitlab будет знать, объединяться ли с ветвями или нет?

Самому GitLab не нужно знать о результатах этого теста, чтобы самостоятельно решить, объединяться или нет.

Ваша работа в Jenkins должна, если тест пройден успешно, вызвать правильный GitLab API , чтобы принять MR (запрос на слияние).

...