如何使 Jenkins 管道阶段状态失败,阶段完成成功后

问题描述 投票:0回答:1

在阶段成功完成后,如何使 Jenkins 管道阶段状态失败。 请帮忙 谢谢你

def build_job_result = [:]
pipeline {
    agent any
    stages {
        stage('1') {
            steps {
                build_job_result = build job: "jobName", wait: false
            }
        }
        stage('2') {
            steps {
                  def jobName   = build_job_result.getFullDisplayName().split()[0]
                  def jobNumber = build_job_result.number
                  def jobStatus = build_job_result.getStatus()

                  if (jobStatus == failed) {
                     stage('1').status = failed
                   }
                }
            }
        }        
    }
}
jenkins jenkins-pipeline jenkins-groovy
1个回答
0
投票

一旦退出阶段,您就无法更改阶段状态 AFAIK。更好的选择是将管道重构为如下所示。基本上,并行运行您的阶段。

pipeline {
    agent any
    
    stages {
        stage('Parallel Example') {
            parallel {
                stage('1') {
                    steps {
                        build_job_result = build job: "jobName", wait: true
                        if (build_job_result == failed) {
                            error "Build Failed"
                         }
                    }
                }
                
                stage('2') {
                    steps {
                        echo 'Do something else while the job runs'
                    }
                }
            }
        }
        
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.