Различия между проектами Jenkins - PullRequest
0 голосов
/ 26 марта 2020

В чем разница между этими типами проектов Jenkins:

Pipeline
Multi Branch Pipeline
Github Organization

Я использую файл Jenkinsfile.

Я думаю, что для Pipeline он просто поддерживает одну ветвь, а Multi Branch поддерживает любую ветвь. Организация Github не уверен. Я хочу обновить Pull Request от Github со статусами сборки Jenkins.

Ответы [ 2 ]

0 голосов
/ 26 марта 2020
  • Конвейерное задание в основном требует, чтобы Jenkins запустил конвейер, записанный в Groovy. Вы либо «вставляете» этот Groovy код в текстовое поле в Jenkins, либо говорите Jenkins, что «Groovy code находится где-то там в SCM». Ваша работа - "свободный стиль", и поэтому вы можете делать все что угодно - делать уборку, отправлять электронные письма или загружать фотографии кошек, и, конечно, это может привести к циклу сборки-тестирования-развертывания.

    Обратите внимание, что ваша работа может Например, запросите имя ветки и постройте несколько веток с их именами. (Теоретически, он также может запрашивать URL репо и создавать несколько репо.)

  • Многоотраслевое задание в основном говорит Дженкинсу, что в репо есть несколько ветвей (некоторые из них PR). Это лучше подходит для цикла сборки-тестирования-развертывания. В этом типе каждая ветвь имеет свой собственный Jenkinsfile (он был создан, когда ветка была разветвлена ​​из master или чего-либо еще), и каждая ветка строится в соответствии со своим собственным Jenkinsfile.

    Это то, чего хочет большинство людей, и вот почему: давайте предположим, что «обычная» сборка проекта предоставляет три результата (двоичные файлы, tars, jars или что-то еще), и у меня есть PR, который добавляет четвертый. Где бы я положил инструкции о том, как построить эту четвертую вещь? В Multibranch я добавляю инструкции в Jenkinsfile моей ветки. Моя ветвь производит четыре результата, остальные три. Когда моя ветвь объединена, основная ветвь становится равной четырем, et c.

    (В одном конвейере мне нужно изменить мой единственный Jenkinsfile для всего проекта с помощью инструкций if-else, и это может быстро выйти из-под контроля.)

  • Организация Github очень похожа, но имеет более тесную интеграцию с GitHub, поэтому актуальна только в том случае, если вы работаете с этим (не относится, например, к BitBucket).

0 голосов
/ 26 марта 2020
  • В конвейерном задании вы указываете, в какой ветке находится ваш Jenkinsfile.

  • Но в многоотраслевом конвейере каждая ветвь может иметь собственный Jenkinsfile.

  • Папка Организация GitHub используется для сканирования организации GitHub или команды Bitbucket для обнаружения репозиториев организации, автоматически создавая управляемые задания многоуровневого конвейера для их.

обновить запрос на извлечение от Github со статусами сборки Jenkins

Вы можете следовать " Как обновить статус сборки Jenkins в GitHub тянуть запросы [Пошаговое руководство]", в котором используется WebHook.

Или вы можете использовать GitHub PR Builder Plugin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...