目前,我们使用Jenkins作业DSL在每个Git分支上生成许多Jenkins作业。多分支管道插件似乎是一种有趣的方式,可以使用Jenkinsfiles获得一流的作业生成支持,并减少我们维护的Job DSL数量。
例如,我们有 libwidget-server 和 widget-server 开发分支项目。当libwidget- server构建完成时,将触发widget-server作业(对于development分支)。这也适用于其他分支。
这利用Build after other projects are built上游构建完成时触发(例如libwidget- server导致小部件服务器被构建)。
Build after other projects are built
似乎多分支管道插件缺少Build after other projects are built设置-我们将如何在多分支管道构建中完成上述任务?
您应该将分支名称添加到上游作业中(假设您也在上游作业中使用了多分支管道)。
假设您有一个包含两个作业的文件夹,这两个作业都是多分支管道作业:jobA和jobB; jobB后应触发jobA的master。
jobA
jobB
master
您可以将此代码段添加到jobB的Jenkinsfile中:
properties([ pipelineTriggers([ upstream( threshold: 'SUCCESS', upstreamProjects: '../jobA/master' ) ]) ])
(请注意,jobB此处的任何分支都将在jobA的master 之后触发!)