Jenkins 顺序执行多个已存在的任务

推荐方案:使用 Pipeline(Jenkinsfile) + build步骤

适用于 Jenkins 2.x 及以上(支持 Pipeline)。

在新建 Pipeline 任务中,使用build步骤依次触发已有 Job,脚本示例如下:

pipeline {
    agent any
    stages {
        stage('Trigger Jobs Sequentially') {
            steps {
                script {
                    // 按顺序触发已有任务(Job 名称需替换为真实 Job 名)
                    build job: 'job-A', wait: true
                    build job: 'job-B', wait: true
                    build job: 'job-C', wait: true
                }
            }
        }
    }
}
  • wait: true(默认)表示同步等待当前 Job 执行完成后再执行下一个(即串行)。

  • 若设为wait: false则为异步触发(并行),不符合你的需求。

  • 支持传参(如需):

    build job: 'job-A', parameters: [string(name: 'ENV', value: 'prod')], wait: true
    

权限要求:确保当前用户或 Job 有权限触发目标 Job(需配置好 Jenkins Job 触发权限,如Job/Build)。

备选方案:使用 "Build other projects" 后置动作(仅适用于 Free-Style 项目)

  1. 新建一个 Free-Style Project

  2. 构建后操作(Post-build Actions)中选择:

    • Build other projects (sequential build)
      (注意:是 sequential,不是普通的 "Build other projects";部分 Jenkins 版本可能叫 Trigger parameterized build on other projects,勾选 Block until the triggered projects finish their builds
  3. 填入下游 Job 名(用逗号分隔):

    job-A, job-B, job-C
    

参考:Qwen Chat

posted @ 2025-12-08 10:00  Higurashi-kagome  阅读(18)  评论(0)    收藏  举报