Я устанавливаю многоотраслевой конвейер в 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 в многоотраслевом конвейере?