是否可配置每个Jenkins slave仅运行一个Job且不销毁实例?
方案1:手动临时禁用指定slave(适合需要单独保留某个slave调试的场景)
- 进入Jenkins后台,依次打开「管理Jenkins」→「节点管理」
- 找到目标动态slave节点,进入节点详情页
- 点击左侧「标记此节点为临时离线」,可填写离线原因备注(如「调试保留,不接受新任务」),确认后该节点将不再接收新的构建任务,当前正在运行的任务也不会被中断,节点会保留到你设置的24小时到期后再自动销毁。
方案2:配置自动复用规则(适合所有构建都需要分配新slave的通用场景)
你找到的Maximum Total Uses参数刚好可以适配这个需求:
- 直接在动态slave模板配置中,将Maximum Total Uses的值设置为1即可。配置后每个启动的动态slave最多只会执行1次构建任务,执行完成后自动停止接收新任务,进入24小时保留周期,后续的构建任务会自动创建新的slave来执行,完全不需要手动干预。
方案3:标签匹配规则适配
如果你需要保留Maximum Total Uses的原有配置,也可以调整Job的标签匹配逻辑:
- 给每个动态slave生成独有的唯一标识标签,Job配置中添加排除规则,过滤掉已经执行过任务的slave标签,即可实现每次构建都分配新的slave,旧slave正常保留到销毁时间。
内容的提问来源于stack exchange,提问作者Johannes Allen
相关产品推荐
相关产品推荐

