Jenkins设置了7个多分支管道项目,每个项目都基于相同的git repo构建,但是针对不同的目标平台。这些多分支管道中的每一个都建立了许多分支。当前,我们通过在多分支项目配置中使用以下属性来设置每个多分支管道构建的分支:
Branch Sources -> Git -> Behaviors -> Filter by name (with wildcards)
当前,每个多分支管道在此Filter by name (with wildcards)字段中具有相同的分支字符串。每次我们希望Jenkins开始建立一个新分支时,我们都要遍历所有7个多分支项目配置,并更新此字段以包括新分支。
Filter by name (with wildcards)
遍历每个配置并每次更改此字段都有些麻烦,因为我们一直希望每个配置都具有相同的分支列表。是否可以在此字段中简单地使用某种类型的变量?这样,我们只需要更改一个位置即可,而不必尝试使7个不同的配置彼此保持同步,这容易出错并且也很痛苦。
谢谢你的帮助!艾伦
您可以尝试使用正则表达式过滤分支,而不是使用通配符过滤。在我们的例子中,模式如下:
(master|develop|release.*|feature.*|bugfix.*)
很好地覆盖了存储库。也就是说,假设您遵循Git Flow或类似的方法。不幸的是,没有一种简单的方法可以在一个存储库中的MultiBranch Pipelines构建之间同步配置。MultibranchPipeline和Organization插件均未设计用于多个Jenkinsfiles。
另外,您可以尝试使用Jenkins脚本控制台仅同步项目之间的分支配置。不必在项目级别上设置大多数作业配置。例如,您可以创建共享脚本(或共享库)以供其他作业使用,以在每个作业上设置相同的作业属性。