Jenkins Multibranch Config: Как фильтровать ветки на основе переменной строки? - PullRequest
0 голосов
/ 25 апреля 2018

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

Branch Sources -> Git -> Behaviors -> Filter by name (with wildcards)

В настоящее время каждый многоотраслевой конвейер имеет одну и ту же строку ветвей в этой Filter by name (with wildcards) поле.Каждый раз, когда мы хотим, чтобы Дженкинс начал строить новую ветвь, мы проходим все 7 конфигураций многоотраслевого проекта и обновляем это поле, чтобы включить новую ветвь.

Немного тяжело проходить каждую конфигурацию и изменять этополе каждый раз, так как мы всегда хотим, чтобы каждая конфигурация имела один и тот же список ветвей.Можно ли просто использовать некоторый тип переменной в этом поле?Таким образом, нам нужно всего лишь изменить одно местоположение, а не пытаться синхронизировать 7 различных конфигураций друг с другом, что подвержено ошибкам, а также немного болезненно.

Спасибо за вашу помощь!Аллен

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

, если вы хотите использовать подстановочный знак, который вы можете предоставить, как показано ниже:

adding wildcard for images

В этом примере он обнаружит только ветви qa и dev.

NOTE: You have to use "Discover branches" also with "filter by name (with wildcards)" behaviour.
0 голосов
/ 25 апреля 2018

Вместо фильтрации с использованием подстановочных знаков вы можете попробовать отфильтровать ветки с помощью регулярного выражения. В нашем случае шаблон выглядит так:

(master|develop|release.*|feature.*|bugfix.*)

работал хорошо, чтобы покрыть хранилище. То есть, если вы будете следовать Git Flow или подобной методологии. К сожалению, не существует простого способа синхронизации конфигурации между сборками MultiBranch Pipelines из одного репозитория. Ни Multibranch Pipeline, ни плагины Organization не предназначены для работы с несколькими файлами Jenkinsfiles.

Кроме того, вы можете попытаться синхронизировать только конфигурацию ветки между проектами с помощью консоли сценариев Jenkins. Большую часть конфигурации задания не нужно устанавливать на уровне проекта. Например, вы можете создать общий сценарий (или совместно используемую библиотеку), к которому будут обращаться другие задания, чтобы задать одинаковые свойства задания для каждого из них. См. Как загрузить Groovy-файл и выполнить его для получения более подробной информации.

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