查阅了大量资料,了解了Jenkins中触发项目构建的多种方法,记录一下:
- 通过『Build Triggers -> Build after other projects are built』,其中针对多分支流水线需要指定具体分支,不支持通配符、正则等逻辑。原因是:相关源码中,仅支持传入一个
String
类型的参数。如果是在分支流水线中使用该功能,则Jenkins脚本为:
properties([
pipelineTriggers([
triggers: [
[
$class: 'jenkins.triggers.ReverseBuildTrigger',
upstreamProjects: "some_project", threshold: hudson.model.Result.SUCCESS
]
]
]),
])
- 通过『Post-build Actions -> Trigger parameterized build on other projects』需要插件
Parameterized Trigger plugin
,如果是在分支流水线中使用该功能,则Jenkinsfile脚本为:
stage ('Starting ART job') {
build job: 'RunArtInTest', parameters: [[$class: 'StringParameterValue', name: 'systemname', value: systemname]]
}
- 通过
Promoted Builds Plugin
插件,由于没有实际使用研究,仅记录。