Как работает git merge для многоотраслевого конвейера? - PullRequest
0 голосов
/ 04 января 2019

Я устанавливаю многоотраслевой конвейер в Jenkins для своего приложения.Я не уверен в том, как разные jenkinsfile проверяют объединение репозитория.

Например, у меня есть 3 ветви: master, develop и feature-1, для всех этих веток требуется другая конфигурация конвейера (см.ниже).

master: 1. сборка 2. тестирование 3. развертывание в PROD 4. рассказать всем, используя электронную почту

develop: 1. сборка 2. тестирование 3. развертывание вDEV

feature-1: 1. сборка 2. тест

Начиная с первого дня, master имеет Jenkinsfile для производственного выпуска, develop был разветвлен с тем же содержанием Jenkinsfileвнесены изменения для развертывания в DEV и удалены последний шаг, зафиксировано изменение.День 2: feature-1 ответвление develop, были внесены изменения, чтобы удалить шаг развертывания и зафиксированы.

Когда feature-1 завершено, мы объединяем feature-1 в ветку develop, так как фиксацияпоследний удаленный шаг датируется после коммита разработки, это приведет к автоматическому слиянию и сделает ветку "разработка" не развернутой.То же самое произойдет, когда develop объединится с master

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

1 Ответ

0 голосов
/ 04 января 2019

Реализация некоторого управления потоком (https://jenkins.io/doc/book/pipeline/syntax/#flow-control) и сохранение одинакового Jenkinsfile во всех ваших филиалах.

if (env.BRANCH_NAME == 'master'){ echo 'do all the things' } else if (env.BRANCH_NAME == 'develop'){ echo 'do a few things' } else if (env.BRANCH_NAME == 'feature-1'){ echo 'do a couple things' }

Информация BRANCH_NAME предоставляется Jenkinsпри использовании многоотраслевых трубопроводов (https://jenkins.io/doc/book/pipeline/multibranch/#additional-environment-variables).

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