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

如何在Jenkins中循环运行Maven构建并自动切换Windows代理节点

Jenkins自动批量在多台Windows代理依次运行Maven任务解决方案

方案1:使用多配置(矩阵)项目(最推荐,无需代码)

适合不想修改原有任务逻辑的场景:

  • 进入现有Maven任务的配置页,点击「转换为多配置项目」,新建任务可直接选择「构建多配置项目」
  • 找到「配置矩阵」板块,新增一个节点维度的参数
  • 勾选所有需要运行任务的50台Windows代理节点
  • 找到矩阵的「执行策略」设置,勾选「顺序执行矩阵配置」,即可实现跑完一台再跑下一台的需求
  • 原有Maven构建配置保持不变,保存后触发一次构建即可,Jenkins会自动按顺序在所有选中的节点上执行任务,无需手动切换节点

方案2:声明式Pipeline实现(灵活度最高)

如果已经在使用Pipeline任务,直接套用以下脚本逻辑即可:

pipeline {
    agent none
    stages {
        stage('依次在所有Windows节点执行') {
            matrix {
                agent {
                    label "${TARGET_NODE}"
                }
                axes {
                    axis {
                        name 'TARGET_NODE'
                        // 此处替换为你所有Windows节点的名称,支持批量拉取符合命名规则的节点
                        values 'windows01', 'windows02', 'windows03', 'windows04'
                    }
                }
                // 配置顺序执行,关闭并行
                options {
                    matrix {
                        sequential true
                    }
                }
                stages {
                    stage('执行Maven构建') {
                        steps {
                            // 替换为你原有Maven任务的执行命令
                            bat 'mvn clean package'
                        }
                    }
                }
            }
        }
    }
}

方案3:参数化构建+调度任务(适合不想修改原有任务结构的场景)

  • 给现有Maven任务新增一个节点类型的参数TARGET_NODE,用于指定运行节点
  • 在任务的「限制项目的运行节点」配置项中填写${TARGET_NODE},保存原有任务
  • 新建一个专门的调度Pipeline任务,使用以下脚本即可按顺序触发原有任务在所有节点运行:
// 替换为你所有Windows节点的名称
def nodeList = ['windows01','windows02','windows03','windows04']
nodeList.each { nodeName ->
    // 前面的任务执行完成后再触发下一个
    build job: '你的原有Maven任务名', parameters: [string(name: 'TARGET_NODE', value: nodeName)], wait: true
}

注意事项

  • 如果Windows节点命名有统一规则,可以直接调用Jenkins内置API批量拉取符合条件的节点名,无需手动逐个输入
  • 提前确认所有Windows代理的Maven、JDK等环境配置一致,避免部分节点构建失败
  • 如需调整执行速度,可设置任务的最大并发数,避免占用过多节点资源

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:57:04