一尘不染

Jenkins多分支管道和指定上游项目

jenkins

目前,我们使用Jenkins作业DSL在每个Git分支上生成许多Jenkins作业。多分支管道插件似乎是一种有趣的方式,可以使用Jenkinsfiles获得一流的作业生成支持,并减少我们维护的Job
DSL数量。

例如,我们有 libwidget-serverwidget-server 开发分支项目。当libwidget-
server构建完成时,将触发widget-server作业(对于development分支)。这也适用于其他分支。

这利用Build after other projects are built上游构建完成时触发(例如libwidget-
server导致小部件服务器被构建)。

似乎多分支管道插件缺少Build after other projects are built设置-我们将如何在多分支管道构建中完成上述任务?


阅读 202

收藏
2020-07-25

共1个答案

一尘不染

您应该将分支名称添加到上游作业中(假设您也在上游作业中使用了多分支管道)。

假设您有一个包含两个作业的文件夹,这两个作业都是多分支管道作业:jobAjobB; jobB后应触发jobAmaster

您可以将此代码段添加到jobB的Jenkinsfile中:

properties([
  pipelineTriggers([
    upstream(
      threshold: 'SUCCESS',
      upstreamProjects: '../jobA/master'
    )
  ])
])

(请注意,jobB此处的任何分支都将在jobA的master 之后触发!)

2020-07-25