Fre*_*sen 6 jenkins jenkins-pipeline
我们目前使用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设置 - 我们如何在多分支管道构建中完成上述操作?
Jo *_*ste 12
您应该将分支名称添加到上游作业(假设您正在为上游作业使用多分支管道).
假设您有一个包含两个作业的文件夹,两个多分支管道作业:jobA和jobB; jobB后应触发jobAS" master.
您可以将此代码段添加到jobBJenkins文件中:
properties([
pipelineTriggers([
upstream(
threshold: 'SUCCESS',
upstreamProjects: '../jobA/master'
)
])
])
Run Code Online (Sandbox Code Playgroud)
(请注意,jobB这里的任何分支都会在jobA主人之后触发!)
小智 5
我目前正试图让它为我们的部署工作。我最接近的是将以下内容添加到下游 Jenkinsfile;
properties([
pipelineTriggers([
triggers: [
[
$class: 'jenkins.triggers.ReverseBuildTrigger',
upstreamProjects: "some_project", result: hudson.model.Result.SUCCESS
]
]
]),
])
Run Code Online (Sandbox Code Playgroud)
这至少让 Jenkins 承认它应该在构建“some_project”时触发,即它出现在“查看配置”页面中。
但是到目前为止,'some_project' 的构建仍然没有按预期触发下游项目。
话虽如此,也许你会有更多的运气。请让我知道这对你有没有用。
(其他人在这里提出了类似的问题 -> Jenkins: Trigger Multi-branch pipeline on upstream change)
| 归档时间: |
|
| 查看次数: |
8534 次 |
| 最近记录: |