Jenkins Multibranch Pipeline具有多个具有相同分支名称

时间:2017-03-22 16:31:16

标签: jenkins jenkins-pipeline

我有3个相互依赖的微服务应用程序,我希望在Jenkins中触发构建/测试/部署。我想要的策略是使用具有多个源(每个微服务一个)的单个多分支管道,每当有一个提交到它们各自的git存储库时启动管道。

由于服务是相互依赖的(功能方面,而不是构建方式),我的过度简化的理想输出/布局看起来像:

My_Product (multibranch pipeline) \- sprint-55 |- micro_service_1_97dd2ae0 (pipeline) |- micro_service_2_8199aabb (pipeline) \- micro_service_3_9900ccff (pipeline)

我遇到的问题是我们的"主线"分支以当前冲刺命名。因此,作为一个例子,micro_service_1有一个" sprint-55"分支与micro_service_2和micro_service_3一样。使用multibranch管道时,只会创建第一个带有提交的微服务。其余提交会生成以下错误:

Error creating sprint-55 from source #2 as source #1 owns the branch name

有没有办法支持我想做的事情?我对其他基于Jenkins的选项持开放态度。我并不是每个微服务都有一个多分支管道,但如果它是唯一的方法我就能做到。

1 个答案:

答案 0 :(得分:0)

我也遇到了同样的问题。我没有找到在单个multibranch管道下运行此设置的方法。所以我的解决方案是创建多个多分支管道。 在您的情况下,每个微服务将是一个多分支管道。

这使得管道彼此独立,并且可以在不同的存储库中使用相同的分支名称。