Как использовать Jenkinsfile из другого репо на мультифилиале

У нас есть исходный код веб-приложения в определенном репозитории git. Для этого исходного кода я создал многоветвевой проект Jenkins, поэтому каждая ветвь имеет свою собственную историю Jenkins.

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

Канал автоматизации настроен как Jenkinsfile и находится в репозитории, отличном от исходного кода веб-приложения.

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

Или единственный вариант — переместить файл Jenkins в исходный код веб-приложения?


person Mickey Hovel    schedule 13.05.2020    source источник


Ответы (1)


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

Если у вас есть конкретная причина для его размещения в другом репо, пожалуйста, уточните. Вам понадобится ваш Jenkinsfile для реализации дополнительной логики для идентификации различных ветвей, и даже более того, если вы хотите иметь отдельные задания для каждой ветви (вам придется по существу имитировать многоветвь). Это кажется ужасно сложным.

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

person Patrice M.    schedule 13.05.2020
comment
В конечном итоге это разумная практика и используемые подходы. - person Mickey Hovel; 15.05.2020