Jenkins 執行器(Executor)并發數量修改
- 一、什么是 Jenkins 執行器(Executor)?
- 二、為什么默認是 2?
- 三、如何修改 Jenkins 執行器數量?
- 1. 進入 Jenkins 管理頁面
- 2. 找到節點配置
- 3. 選擇需要修改的節點
- 4. 修改執行器數量
- 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 的性能。