You need to enable JavaScript to run this app. 如何中止Jenkins流水线单个stage而不中断后续stage的执行
优惠活动
大模型
产品
解决方案
定价
更多

如何中止Jenkins流水线单个stage而不中断后续stage的执行

解决方案

Jenkins默认会在任意stage抛出未捕获异常时(手动中止本质是抛出FlowInterruptedException中断异常)终止整个流水线执行,跳过后续所有stage。你可以通过以下两种方案实现单个stage中止不影响后续stage运行:

方案1:使用catchError步骤(兼容声明式/脚本式流水线,支持精细配置)

在需要支持单独中止的stage内部用catchError包裹执行逻辑,示例配置如下:

pipeline {
    agent any
    stages {
        stage('A') {
            steps {
                // 捕获当前stage所有异常,不向上传递
                catchError(
                    buildResult: 'SUCCESS', // 配置整个流水线的最终结果,可选值 SUCCESS/UNSTABLE/ABORTED
                    stageResult: 'ABORTED'  // 配置当前stage的展示状态
                ) {
                    echo 'Started stage A'
                    sleep 20
                }
            }
        }
        stage('B') {
            steps {
                echo 'Started stage B'
                // Stage B的正常执行逻辑
            }
        }
    }
}

该方案适配多worker节点的场景,Stage A被手动中止后,异常会被捕获,Stage B会正常调度执行,不会被跳过。

方案2:声明式流水线使用continueOnError选项(配置更简洁)

如果使用声明式流水线,直接给对应stage添加continueOnError(true)配置即可:

pipeline {
    agent any
    stages {
        stage('A') {
            options {
                continueOnError(true)
            }
            steps {
                echo 'Started stage A'
                sleep 20
            }
        }
        stage('B') {
            steps {
                echo 'Started stage B'
            }
        }
    }
}

该配置会自动捕获当前stage的所有异常(包括手动中止、运行报错),后续stage正常执行,当前stage标记为失败/中止,整个流水线最终状态为UNSTABLE。

精细控制方案:仅捕获手动中止异常

如果你希望仅处理手动中止的情况,其他代码运行错误仍终止流水线,可以用try-catch专门捕获中断异常:

stage('A') {
    agent any
    steps {
        script {
            try {
                echo 'Started stage A'
                sleep 20
            } catch (org.jenkinsci.plugins.workflow.steps.FlowInterruptedException e) {
                echo "Stage A被手动中止:${e.getMessage()}"
                // 可添加自定义清理逻辑
                currentBuild.result = 'SUCCESS'
            }
        }
    }
}
stage('B') {
    steps {
        echo 'Started stage B'
    }
}

内容的提问来源于stack exchange,提问作者Vihari Lal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 13:21:04