参数化管道构建以在jenkins中构建多个作业

时间:2017-08-31 06:34:49

标签: jenkins jenkins-pipeline

参数化管道作业必须将多个作业名称作为参数并且并行启动参数化作业,我尝试下面的代码,但它无法正常工作

    def String[] jobs;
    stages {
      stage('stage1') {
        steps {
          script {
            jobs = jobnames.split(',');
            for (ii = 0; ii < jobs.size(); ii++) {
                build job: 'startjob_${jobs[ii]}', parameters: [string(name: 'BRANCH',value: String.valueOf(BRANCH)),string(name: 'CHANGENUM',value: String.valueOf(CHANGENUM))]
            }  

此代码正常运行,但不是我预期的方式,我希望并行启动所有作业。但它安排一个接一个的工作。
任何人都可以帮助我

1 个答案:

答案 0 :(得分:1)

试试这个

builds = [:]
for (ii = 0; ii < jobs.size(); ii++) {
    builds << [
            "startjob_${jobs[ii]}": { ->
                build job: "startjob_${jobs[ii]}", parameters: [string(name: 'BRANCH', value: String.valueOf(BRANCH)), string(name: 'CHANGENUM', value: String.valueOf(CHANGENUM))]
            }
    ]
}
parallel builds