Проект многоотраслевого трубопровода Jenkins vs Pipeline Project - PullRequest
0 голосов
/ 09 января 2020

Это может быть простой вопрос, но каковы основные отличия между управлением несколькими ветвями (dev-test-master) с помощью декларативного конвейера в проекте Pipeline и выбором проекта Multibranch конвейера?

Я бы хотел развернуть свое приложение в среде Kubernetes в соответствии с переменной филиала. Какой тип проекта мне следует использовать, чтобы следовать рекомендациям, или каким легко управлять? Думаю, я могу сделать то же самое и управлять своими филиалами и средой развертывания только одним Jenkinsfile в проекте Pipeline.

1 Ответ

2 голосов
/ 09 января 2020

С Multibranch вы получаете один Jenkinsfile на ветку. Без этого вы не можете. В этом главное отличие.

С файлом на ветку вы можете иметь отдельные инструкции о том, как именно построить эту ветку (понятие «конфигурация как код»). Например, если у вас есть 5 контейнеров, у вас может быть пять этапов «Сборка контейнера X» (возможно, параллельно) и пять этапов «Тестирование контейнера X» (так же). В вашей новой ветке вы разрабатываете новый контейнер, поэтому в Jenkinsfile этой ветки * теперь у вас может быть шесть этапов сборки и шесть этапов тестирования вместо пяти. Теперь под контролем исходного кода любая ветвь, которая происходит от обычной ветки (веток), будет наследовать свой Jenkinsfile (и собирать / тестировать 5 контейнеров), в то время как любая ветвь над этой новой веткой будет наследовать , что Jenkinsfile (и build / проверить 6 контейнеров) без необходимости что-либо менять.

С одним Jenkinsfile это может быстро запутаться.

Это полностью ортогонально переменной ветвления, которую вы можете проверить и воздействовать на нее иначе. В нашей среде у нас есть оба: Jenkinsfile на ветку и проверка переменной ветки во всех Jenkinsfile. Это сводит к минимуму усилия по слиянию.

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