Jenkins 执行器(Executor)并发数量修改
-
- [一、什么是 Jenkins 执行器(Executor)?](#一、什么是 Jenkins 执行器(Executor)?)
- [二、为什么默认是 2?](#二、为什么默认是 2?)
- [三、如何修改 Jenkins 执行器数量?](#三、如何修改 Jenkins 执行器数量?)
-
- [1. 进入 Jenkins 管理页面](#1. 进入 Jenkins 管理页面)
- [2. 找到节点配置](#2. 找到节点配置)
- [3. 选择需要修改的节点](#3. 选择需要修改的节点)
- [4. 修改执行器数量](#4. 修改执行器数量)
- [5. 保存配置](#5. 保存配置)
- 四、最佳实践与注意事项
- 五、总结
在使用 Jenkins 进行持续集成与持续部署(CI/CD)的过程中,我们常常会遇到这样的问题:多个任务同时触发时,Jenkins 却需要排队等待 。这并不是 Jenkins 的 Bug,而是由 执行器(Executor)数量配置决定的。
本文将带你了解 Jenkins 执行器的概念,并手把手教你如何修改执行器数量,以支持并发构建。
一、什么是 Jenkins 执行器(Executor)?
在 Jenkins 中,执行器(Executor) 就是 Jenkins 在某个 Agent(节点)上执行任务的"工作线程"。
-
一个执行器 = 一条可以运行 Job 的并发通道
-
一个 Agent 可以拥有多个执行器
-
如果某个 Agent 的执行器数量是
1
,那么它一次只能运行一个任务,多余的任务会进入 排队状态
举个例子:
- 如果你有一个 Agent,执行器数量设置为 1,那么同时触发 3 个构建任务,只有第 1 个能立刻执行,另外 2 个会排队。
- 如果将执行器数量改成 3,那么这 3 个任务就可以同时执行。
二、为什么默认是 2?
Jenkins 出于 资源隔离和安全性 考虑,默认将 Agent 的执行器数量设置为 2。
-
避免多个任务同时运行时互相干扰(如写入同一目录、竞争端口等)。
-
降低资源冲突风险,保证单任务稳定性。
-
适合大部分中小规模项目。
但在一些场景下,例如:
-
机器配置较高,CPU/内存资源充足;
-
构建任务之间相互独立;
-
希望充分利用节点资源;
就可以增加执行器数量,实现 并发构建。
三、如何修改 Jenkins 执行器数量?
1. 进入 Jenkins 管理页面
首页 → 点击左侧 「Manage Jenkins」
👉 截图示例(红框标注 Manage Jenkins 按钮)
2. 找到节点配置
在 系统管理 页面,点击 「Nodes and Clouds」 → 「Nodes」
👉 截图示例(红框标注 Nodes )
3. 选择需要修改的节点
比如默认的 Built-In Node (旧版本叫 master)
👉 截图示例(红框标注 Built-In Node )
4. 修改执行器数量
找到 「# of executors」 配置项:
- 默认值是 2
- 改成
3
或4
(根据机器性能决定)
👉 截图示例(红框标注 # of executors 输入框)
5. 保存配置
点击 保存(Save) 按钮即可
👉 截图示例(红框标注 Save )
⚠️ 提示:执行器数量并不是越多越好,需要结合机器性能来设置。
比如一台 8 核 16G 的服务器,可以设置 2--4 个执行器;但如果构建任务非常耗 CPU/内存,还是建议保持 1--2 个,避免任务互相拖慢。
四、最佳实践与注意事项
-
避免工作区冲突
-
多个 Job 并发执行时,可能会写入同一目录,导致冲突。
-
解决办法:在 Job 配置中勾选 「Use custom workspace」 或在 Pipeline 脚本中定义独立工作目录。
-
-
资源分配合理
-
如果机器性能有限,不要把执行器数量调得太高,否则任务会"抢"CPU 和内存,导致整体变慢。
-
可以通过 Jenkins 内置的 节点标签(Label) 和 节点限制,将不同 Job 分配到不同 Agent 上运行。
-
-
结合并行 Pipeline
- 在 Jenkins Pipeline 中,可以用
parallel
步骤并行运行多个 stage,配合多个执行器使用,效果最佳。
- 在 Jenkins Pipeline 中,可以用
五、总结
-
执行器(Executor) 是 Jenkins 控制并发的关键参数。
-
默认值为
2
,确保任务安全,但会导致任务排队。 -
修改执行器数量,可以让单个 Agent 并发运行多个任务,提高构建效率。
-
合理配置执行器数量,结合独立工作区与 Pipeline 并行特性,能最大化利用 Jenkins 的性能。