Jenkins - 在多个上游变更上触发多分支管道

时间:2017-10-16 03:41:03

标签: jenkins jenkins-pipeline

我是Jenkins的新手,我想为以下案例设置Jenkins触发器,成功构建projA或projB应该触发projC的构建,我使用声明性Jenkins语法和projA..C是多分支项目。

projA - > projC   projB - > projC

我遵循Jenkins: Trigger Multi-branch pipeline on upstream change中#2的示例并设置projC以在projA(或projB)上触发,但不确定projC的语法是在projA还是projB上触发。

此外,作为触发机制的一部分,是否可以将值从projA和projB传递给projC?如果可能,语法是什么。

感谢任何帮助。

这是代码:

pipeline { 
    agent any 

    parameters { 
        string(name: 'MY_BRANCH_NAME', defaultValue: '${env.BRANCH_NAME}', description: 'pass branch value') 
        string(name: 'MY_VERSION', defaultValue: '1.23', description: 'My version') 
    }

    stages {
        stage('Build in dev') { 
            steps { 
                echo 'Building dev..' 
            } 
        } 
    }
}

1 个答案:

答案 0 :(得分:0)

我认为你需要从另一个角度看待这个问题。不要以为C要找A或B来完成。如果成功,可以考虑A或B触发C.

在A和B项目中,如果您认为构建是否符合您的标准,请使用build步骤触发C.

如果要将简单值传递给C,请将C设置为参数化构建并在构建步骤中传递参数。

post{
    success{
        build job: 'C', parameters: [booleanParam(name: 'bool1', value: true), string(name: 'foo', value: 'bar')], quietPeriod: 10
    }
}