首页 > 解决方案 > 在并行管道脚本 Jenkins 中运行作业

问题描述

我在管道脚本 Jenkins 中编写了下面的代码以按顺序执行作业,但是我需要从下面并行运行“构建”和“取消部署”,然后再“部署”

node: {
  stage 'build'
  build job: 'JenkinsTest', parameters: [
    [$class: 'StringParameterValue', name: 'VERSION', value: "${VERSION}"],
    [$class: 'StringParameterValue', name: 'RBFLAG', value: "${RBFLAG}"],
    [$class: 'StringParameterValue', name: 'SET_ENV', value: "${SET_ENV}"]
    ]

stage 'Undeploy'
build job:  'Undeploy job', parameters: [
    [$class: 'StringParameterValue', name: 'RBFLAG', value: "${RBFLAG}"]
    ]

stage 'Deploy'
build job:  'Deploy job', parameters: [
    [$class: 'StringParameterValue', name: 'RBFLAG', value: "${RBFLAG}"]
    ]
}

请帮忙。

标签: jenkinsjenkins-pipeline

解决方案


尝试使用类似下面的方法,使用并行:1

pipeline {
agent any   
stages {
    stage('First Stage'){
        steps{
            script{
                parallel(
                        "build":{
                            build job: 'JenkinsTest', parameters: [
                                [$class: 'StringParameterValue', name: 'VERSION', value: "${VERSION}"],
                                [$class: 'StringParameterValue', name: 'RBFLAG', value: "${RBFLAG}"],
                                [$class: 'StringParameterValue', name: 'SET_ENV', value: "${SET_ENV}"]
                                ]
                        },
                        "undeploy":{
                           build job:  'Undeploy job', parameters: [
                            [$class: 'StringParameterValue', name: 'RBFLAG', value: "${RBFLAG}"]
                            ]
                        }
                )
            }
        }
    }
    stage('Second stage') {
        steps{
            script{
                build job:  'Deploy job', parameters: [
                    [$class: 'StringParameterValue', name: 'RBFLAG', value: "${RBFLAG}"]
                    ]
                }
            }
    }
}

}


推荐阅读