从另一个多分支管道触发多分支管道作业

10

我有一个场景,其中我有两个项目(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

有什么想法吗?
1个回答

7

我已经解决了这个问题。我所做的是在项目B的Jenkinsfile中定义一个上游触发器:

pipelineTriggers([ 
    upstream( 
       threshold: hudson.model.Result.SUCCESS, 
       upstreamProjects: "/ProjectA/" + env.BRANCH_NAME.replaceAll("/", "%2F") 
    )
])

1
你如何确保这只触发开发分支而不是特性分支? - vijayvithal
嗨@vijayvithal,如果您仍需要它,请在此处查看我的答案:https://dev59.com/71cQ5IYBdhLWcg3wFf4-#71412961 - Martin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接