我们目前使用Jenkins作业DSL在每个Git分支基础上生成大量Jenkins作业;多分支管道插件看起来像是一种有趣的方式,可以使用Jenkinsfiles获得一流的作业生成支持,并减少我们维护的作业DSL数量。
例如,我们有 libwidget-server 和 widget-server 开发分支项目。当libwidget-server构建完成后,触发widget-server作业(对于develop分支)。这也适用于其他分支。
这使得Build after other projects are built
在完成上游构建时使用(例如libwidget-server导致构建widget-server)。
似乎多分支管道插件缺少Build after other projects are built
设置 - 我们如何在多分支管道构建中完成上述操作?
答案 0 :(得分:11)
您应该将分支名称添加到上游作业(假设您正在为上游作业使用多分支管道)。
假设您有一个包含两个作业的文件夹,这两个作业都是多分支管道作业:jobA
和jobB
; jobB
jobA
之后master
会触发jobB
。
您可以将此代码段添加到properties([
pipelineTriggers([
upstream(
threshold: 'SUCCESS',
upstreamProjects: '../jobA/master'
)
])
])
的Jenkinsfile:
jobB
(请注意jobA
的任何分支都会在Previewsize
的主人之后触发!)
答案 1 :(得分:4)
我目前正在尝试将此功能用于我们的部署。 我最接近的是将下面的内容添加到下游Jenkins文件中;
python manage.py makemigrations my_app_name
至少让Jenkins承认它应该在什么时候触发 'some_project'得到了构建,即它出现在“查看配置”页面中。
然而到目前为止,'some_project'的构建仍然不会触发下游 按预期进行项目。
话虽如此,也许你会有更多的运气。 让我知道它是否适合你。
(其他人在此问了一个类似的问题 - > Jenkins: Trigger Multi-branch pipeline on upstream change)