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

Jenkins声明式流水线:标记非关键路径阶段需求问询

解决方案

要实现你的需求,核心是让Job B、C成为后台启动的非阻塞任务,同时保证Job A的关键路径不受影响,具体修改如下:

修改后的流水线代码

pipeline {
  agent any
  stages {
    stage('Stage 1 Name') {
      parallel {
        stage('关键路径:Job A') {
          steps {
            // 等待Job A完成,这是流水线的核心依赖
            build 'Job A'
          }
        }
        stage('非关键路径:Job B & C') {
          steps {
            parallel {
              stage('启动Job B') {
                steps {
                  // 启动后立即返回,忽略所有失败
                  ignoreFailures {
                    build wait: false, job: 'Job B'
                  }
                }
              }
              stage('启动Job C') {
                steps {
                  ignoreFailures {
                    build wait: false, job: 'Job C'
                  }
                }
              }
            }
          }
        }
      }
    }  
    stage('Stage 2') {
      steps {
        // 仅依赖Job A完成,无需等待B/C
        build 'Job D'
      }
    }
    stage('Stage 3 Name') {
      parallel {
        stage('Stage 3 parallel A') {
          steps {
            build 'Job F'
          }
        }
        stage('Stage 3 parallel B') {
          steps {
            build 'Job E'
          }
        }
      }
    } 
  }
}

关键修改说明

  • 拆分并行结构:把Stage1拆分为「关键路径」和「非关键路径」两个并行阶段,确保Job A的执行是流水线的核心阻塞点
  • 非阻塞启动B/C:使用build wait: false参数,让Jenkins启动Job B/C后立刻返回,不等待任务执行完成,完全不影响后续流程
  • 忽略非关键任务失败:用ignoreFailures包裹启动步骤,即使Job B/C启动失败或后续执行出错,也不会影响流水线的全局状态
  • 保证并行效率:非关键路径内部继续并行启动B/C,最大化利用Job A运行的时间窗口,达到缩短整体时长的目的

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 14:36:16