我有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的选项持开放态度。我并不是每个微服务都有一个多分支管道,但如果它是唯一的方法我就能做到。
答案 0 :(得分:0)
我也遇到了同样的问题。我没有找到在单个multibranch管道下运行此设置的方法。所以我的解决方案是创建多个多分支管道。 在您的情况下,每个微服务将是一个多分支管道。
这使得管道彼此独立,并且可以在不同的存储库中使用相同的分支名称。