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

Joh*_*ell 5 continuous-integration jenkins jenkins-plugins jenkins-pipeline multibranch-pipeline

我有一个场景,但是我有2个项目(A和B),它们都在Jenkins中配置,并且具有多分支管道作业,问题是项目B取决于项目A。

因此,我发现有时候在项目A中签入代码时,一旦构建了A,就还需要构建ProjectB。现在,在开始调查管道构建之前,我每个分支都有一份工作,然后在Jenkins中为适当的分支为Project B触发适当的工作。

我想在Jenkinsfile中进行设置,以便在执行ProjectA / develop时触发针对ProjectB和同一分支的多分支管道作业。

我有:

stage ('Trigger Tenant Builds') {
        build job: "ProjectB/${branch}", wait: false
    }
Run Code Online (Sandbox Code Playgroud)

但是我的ProjectA管道失败了:

ERROR: No parameterized job named ProjectB/develop found
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Joh*_*ell 6

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

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