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

Jenkins ECS插件创建inbound-agent节点如何配置执行器数量

问题场景
  • 技术栈:amazon-ecs插件 + jenkins/inbound-agent镜像,ECS/Fargate环境动态创建代理节点,降低构建主节点压力
  • 需求:同流水线触发的低资源占用、长耗时子任务直接运行在父任务拉起的同一代理节点上,既不占用主节点资源,也省去新ECS任务冷启动的时间开销
  • 故障:子任务调度到临时代理节点时,持续卡在Waiting for next available executor on XXXX状态
  • 排查结果:amazon-ecs插件默认给动态代理分配1个执行器,未找到调整执行器数量的配置入口
  • 环境:Jenkins 核心版本 2.332.1
解决方法

全局模板配置修改

找不到配置入口通常是因为执行器配置项默认折叠在高级选项中,配置步骤:

  • 进入Jenkins管理页 → 节点管理 → 配置云,找到已添加的Amazon ECS云配置
  • 展开用于拉起Fargate代理的对应Agent模板
  • 拉到模板配置最底部,点击**Advanced...(高级)**展开隐藏配置
  • 找到Number of executors配置项,填入需要的执行器数(比如2)后保存
  • 后续所有用该模板拉起的动态代理,启动后默认带对应数量的执行器,无需额外调整

单流水线自定义配置

如果不需要全局修改,仅要求特定流水线的动态代理使用多执行器,可以直接在流水线的ecs agent配置中传参覆盖,示例:

pipeline {
    agent {
        ecs {
            // 按实际环境补全原有ECS配置:集群、镜像、CPU、内存、子网、安全组等
            cluster 'fargate-cicd-cluster'
            image 'jenkins/inbound-agent:jdk11'
            memory 2048
            cpu 1024
            launchType 'FARGATE'
            // 核心配置:指定当前代理的执行器数量
            numExecutors 2
            // 给当前代理打构建唯一标签,避免子任务调度到其他节点
            label "dyn-agent-${BUILD_NUMBER}"
        }
    }
    stages {
        stage('主构建') {
            steps {
                script {
                    // 主构建逻辑
                    echo 'running main build step'
                    // 触发子任务,指定调度到当前代理节点
                    build job: 'long-running-light-task',
                          parameters: [string(name: 'NODE_LABEL', value: "dyn-agent-${BUILD_NUMBER}")],
                          wait: false
                }
            }
        }
    }
}
注意事项
  • 该配置兼容Jenkins 2.332.1版本,只要amazon-ecs插件版本不低于1.50即可正常使用,找不到配置项先升级插件到稳定版
  • 针对低资源占用的长耗时任务,配置2个执行器不会产生明显资源争抢,完全满足主任务+子任务同节点运行的需求
  • 配置后如果仍卡调度,检查子任务绑定的节点标签是否和当前动态代理标签完全匹配,避免标签通用导致调度到其他默认单执行器节点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 12:12:21