Як відключити деякі гілки в Multibranch Jenkins Builds?


10

У мене встановлено багатогалузеве завдання для запуску будь-якої гілки з Jenkinsfile.

У мене є кілька варіантів, над якими я можу придумати, якщо хочу видалити гілку зі списку завдань, які виконуються для багатогалузевого конвеєра.

  1. Я можу видалити гілку
  2. Я можу видалити Jenkinsfile у цій гілці

Друге рішення є гарним, за винятком того, що мені потрібно скористатися і підштовхнути його до gpo repo для моєї гілки, і якщо цю гілку об'єднати в іншу гілку, вона знеструмить Jenkinsfile.

Який найкращий спосіб відключити лише деякі гілки багатогалузевого трубопроводу?

Відповіді:


17

Дженкінс може фільтрувати гілки в багатогалузевому трубопроводі за назвою, використовуючи підстановку або регулярний вираз.

гілки фільтра Дженкіна


Будь-який спосіб зробити це в межах Дженкінсфіл (щоб воно було відтворено)?
xjcl

1
Так, ви можете додати when { anyOf { branch 'master'; branch 'release/**' } }в будь-який етап (декларативний) або if (env.BRANCH_NAME == 'master' || (env.BRANCH_NAME).startsWith('release/')) {}в сценарій сценарію (майже в будь-якому місці). Для першого варіанту є більше доступних у jenkins.io/doc/book/pipeline/syntax/#when . У будь-якому випадку, найкращим способом є налаштування цього в плагіні багатогалузевого конвеєра, як зазначено у відповіді.
biolauri

-1

Просто видаліть файл Дженкінс із гілки, для якої ви не хочете мати відповідних філій. Це видалить завдання філії (звичайно, якщо ви належним чином встановили свою "Стратегію осиротілих предметів").

З точки зору багатогалузевого трубопроводу Дженкінса, це має такий же ефект, як і видалення гілки. Це тому, що це просто сканування гілок, які містять Jenkinsfiles як його критерій, коли потрібно створити (або видалити) відповідне завдання гілки.

Скасуйте зобов’язання відновити Jenkinsfile, якщо / коли вам знову потрібна філія.


Це надто багато роботи. Коли ви створюєте відділення та видаляєте файл, ви змінюєте історію GIT без поважних причин. Набагато краще фільтрувати на рівні Дженкінса, щоб не потрібно нічого робити.
casey vega
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.