Groovy 如果前一阶段条件为真,则取消Jenkins中的剩余阶段

Groovy 如果前一阶段条件为真,则取消Jenkins中的剩余阶段,groovy,jenkins-pipeline,Groovy,Jenkins Pipeline,我在Jenkins中有一段groovy代码,用于查找新的软件版本。如果找到新版本,它将下载它;如果没有可用的新版本,作业将停止 我想知道如果比较版本的条件为真,是否有一种不那么麻烦的方法来停止所有剩余的阶段 这是我的密码: pipeline { ... stages { ... stage('Compare Versions') { steps { script {

我在Jenkins中有一段groovy代码,用于查找新的软件版本。如果找到新版本,它将下载它;如果没有可用的新版本,作业将停止

我想知道如果比较版本的条件为真,是否有一种不那么麻烦的方法来停止所有剩余的阶段

这是我的密码:

pipeline {
    ...
    stages {
        ...
        stage('Compare Versions') {
            steps {
                script {
                    // these two variables are the ones that I use as a boolean.
                    if(CURRENT_VERSION == NEW_VERSION) {
                        echo "Current Version $CURRENT_VERSION, Available Version $NEW_VERSION"
                        echo 'The current version is already the latest one. Cancelling update.'
                        currentBuild.result = 'SUCCESS'
                        error 'Cancelled Job'
                    }
                }
            }    
       
        }
    }
}
上面代码的问题是,由于其余阶段仍在尝试运行失败,它导致了java错误的崩溃。我需要在没有任何插件的情况下改进这段代码


任何帮助都会有帮助。

^这是否意味着我必须为每个阶段添加“何时”条件?是的,对于每个阶段,如果回答是肯定的,从维护角度来看,我似乎会很痛苦。如果我要改变变量,我每次都要回到每个阶段。