重新运行当前Jenkins管道

q1qsirdb  于 2023-02-18  发布在  Jenkins
关注(0)|答案(1)|浏览(126)

我有一个Jenkins作业A,它触发Jenkins作业B。我想做一些事情(部署到env1),最后我希望Jenkins作业B在某些条件正常时重新运行自己,然后部署到env2,再次重新运行,再部署到env3。我的问题是,在我批准继续后,什么也没有发生。我希望作业在批准后自动触发自己。
我还希望参数与第一次运行时相同,但我希望更新环境中的som值。
这是我尝试过的:

stage('Continue deploy?') {
            when {
                branch 'develop' }
            }
            steps {
                input message: "Continue deploy to env2?"
                script {
                    if (currentBuild.result) {
                        if (env.ENVIRONMENT == 'env1') {
                            env.ENVIRONMENT = 'env2'
                        } else input message: "Continue deploy to env3?"
                        env.ENVIRONMENT = '3'

                        currentBuild.restart()
                    }
                }
            }
        }
js5cn81o

js5cn81o1#

是否需要手工审批,依次触发JOB三次?
以下伪目标用于作业A

def envList = ['env1', 'env2', 'env']

for(int i=0; i < envList.size(); i++) {
  def b = build job: "JobB", wait: true, parameters: [[$class: 'StringParameterValue', name: 'envName', value: envList[i]]]
  if (b.result == 'SUCCESS') {
      input message: "Continue deploy to next environment?"
  }
}

相关问题