#jenkins #jenkins-pipeline #jenkins-plugins
#jenkins #jenkins-конвейер #jenkins-плагины
Вопрос:
Если использовать многоразветвленный конвейер в Jenkins, я хочу иметь сборку для каждой конкретной ветви, которая создается внутри моего репозитория кода. Это работает как шарм. Но я не хочу предоставлять файл Jenkins внутри моего репозитория кода. Вместо этого я хочу определить другое репозиторий CI, который предоставляет мои скрипты конвейера CI.
Проблема в том, что обычная конфигурация не содержит опции scm, как в обычной конфигурации.
Обычная конфигурация конвейера:
Конфигурация многоотраслевого конвейера:
Может кто-нибудь сказать мне, как отделить Jenkinsfile от моего исходного кода, используя многоотраслевой конвейер?
Комментарии:
1. Почему вы хотите отделить свой файл Jenkins от своего репозитория? Идея многоразветвленного конвейера заключается в том, что каждая ветвь имеет файл Jenkins, который выполняется, когда в ветке выполняется фиксация, поэтому, по сути, вы боретесь против идеи многоразветвленного конвейера.
2. Как сказал @justaprogrammer: идея в том, чтобы дать разработчикам представление о том, как создается их программное обеспечение, и показать его мощь. Можете ли вы объяснить rason, почему вы этого не хотите?
3. Мы используем определение CI pipline не только для одного проекта. Если бы я поместил файл Jenkins в исходный репозиторий, я бы скопировал его. Во-вторых, я хочу использовать определение для коротких живых ветвей, таких как функциональные ветви, отличные от длинных живых ветвей, таких как develop или master. Таким образом, можно было бы поместить файл Jenkins в другой репозиторий. Почему это противоречит идее многоотраслевого конвейера?
Ответ №1:
На всякий случай, если кто-то столкнется с той же проблемой, есть подключаемый модуль Jenkins, который предоставляет удаленные файлы Jenkins для нескольких разветвленных файлов: https://plugins.jenkins.io/remote-file /