You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkinsfile并行阶段配置:阶段1失败立即终止,阶段2失败则继续

Jenkins并行流水线自定义失败处理方案

需求:并行阶段中,阶段1失败需立即终止整个流水线;阶段2失败允许流水线继续执行。failfast: true会在任一阶段失败时终止流水线,无法满足需求;尝试过catchError但未解决问题,以下是可行方案:

修正并优化后的Jenkinsfile示例:

pipeline {
    agent any
    stages {
        stage('Hello') {
            stages {
                stage('Parallel Tasks') {
                    parallel {
                        stage('Stage 1') {
                            steps {
                                // 示例:模拟失败,取消注释可测试终止逻辑
                                // sh 'exit 1'
                                echo 'Executing Stage 1'
                            }
                            // 阶段1不做错误捕获,失败直接终止流水线
                        }
                        stage('Stage 2') {
                            steps {
                                catchError(buildResult: 'FAILURE', stageResult: 'FAILURE', continuePipeline: true) {
                                    // 示例:模拟失败,取消注释可测试继续执行逻辑
                                    // sh 'exit 1'
                                    echo 'Executing Stage 2'
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    post {
        always {
            echo '流水线执行完成'
        }
    }
}

关键逻辑说明:

  • Stage 1:未添加错误捕获逻辑,一旦执行失败,Jenkins会默认终止整个流水线,符合"失败即中止"的需求。
  • Stage 2:通过catchError配置三个核心参数:
    • buildResult: 'FAILURE':标记整个构建结果为失败(若需保持构建成功可设为SUCCESS,但不建议隐藏失败状态)
    • stageResult: 'FAILURE':标记当前阶段为失败,便于在Jenkins界面直观查看阶段状态
    • continuePipeline: true:强制流水线继续执行后续步骤(包括post阶段)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 07:45:56