从其他多分支管道触发多分支管道作业
Triggering a multibranch pipeline job from an other multibranch pipeline
我有一个场景,但我有 2 个项目(A 和 B),都在 Jenkins 中配置了多分支管道作业,问题是项目 B 依赖于项目 A。
所以我发现有时我在项目A中签入代码时,一旦构建了A,我还需要构建项目B。现在,在我开始研究管道构建之前,每个分支都有一个作业,然后在 Jenkins 中为适当的分支触发项目 B 的适当作业。
我想在 Jenkinsfile 中设置什么,以便在 ProjectA/develop 执行它时触发 ProjectB 和同一分支的多分支管道作业。
我有:
stage ('Trigger Tenant Builds') {
build job: "ProjectB/${branch}", wait: false
}
但是我的 ProjectA 管道失败了:
ERROR: No parameterized job named ProjectB/develop found
有什么想法吗?
我现在已经解决了这个问题。我正在做的是在项目 B 的 Jenkinsfile 中定义一个上游触发器:
pipelineTriggers([
upstream(
threshold: hudson.model.Result.SUCCESS,
upstreamProjects: "/ProjectA/" + env.BRANCH_NAME.replaceAll("/", "%2F")
)
])
我有一个场景,但我有 2 个项目(A 和 B),都在 Jenkins 中配置了多分支管道作业,问题是项目 B 依赖于项目 A。
所以我发现有时我在项目A中签入代码时,一旦构建了A,我还需要构建项目B。现在,在我开始研究管道构建之前,每个分支都有一个作业,然后在 Jenkins 中为适当的分支触发项目 B 的适当作业。
我想在 Jenkinsfile 中设置什么,以便在 ProjectA/develop 执行它时触发 ProjectB 和同一分支的多分支管道作业。
我有:
stage ('Trigger Tenant Builds') {
build job: "ProjectB/${branch}", wait: false
}
但是我的 ProjectA 管道失败了:
ERROR: No parameterized job named ProjectB/develop found
有什么想法吗?
我现在已经解决了这个问题。我正在做的是在项目 B 的 Jenkinsfile 中定义一个上游触发器:
pipelineTriggers([
upstream(
threshold: hudson.model.Result.SUCCESS,
upstreamProjects: "/ProjectA/" + env.BRANCH_NAME.replaceAll("/", "%2F")
)
])