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
  • 改成 34(根据机器性能决定)
    👉 截图示例(红框标注 # of executors 输入框)
    在这里插入图片描述

5. 保存配置

点击 保存(Save) 按钮即可
👉 截图示例(红框标注 Save
在这里插入图片描述


⚠️ 提示:执行器数量并不是越多越好,需要结合机器性能来设置。
比如一台 8 核 16G 的服务器,可以设置 2–4 个执行器;但如果构建任务非常耗 CPU/内存,还是建议保持 1–2 个,避免任务互相拖慢。


四、最佳实践与注意事项

  1. 避免工作区冲突

    • 多个 Job 并发执行时,可能会写入同一目录,导致冲突。

    • 解决办法:在 Job 配置中勾选 「Use custom workspace」 或在 Pipeline 脚本中定义独立工作目录。

  2. 资源分配合理

    • 如果机器性能有限,不要把执行器数量调得太高,否则任务会“抢”CPU 和内存,导致整体变慢。

    • 可以通过 Jenkins 内置的 节点标签(Label)节点限制,将不同 Job 分配到不同 Agent 上运行。

  3. 结合并行 Pipeline

    • 在 Jenkins Pipeline 中,可以用 parallel 步骤并行运行多个 stage,配合多个执行器使用,效果最佳。

五、总结

  • 执行器(Executor) 是 Jenkins 控制并发的关键参数。

  • 默认值为 2,确保任务安全,但会导致任务排队。

  • 修改执行器数量,可以让单个 Agent 并发运行多个任务,提高构建效率。

  • 合理配置执行器数量,结合独立工作区与 Pipeline 并行特性,能最大化利用 Jenkins 的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94847.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94847.shtml
英文地址,请注明出处:http://en.pswp.cn/web/94847.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3使用reactive和ref

<script setup>import { ref } from vueconst count ref(0) console.log(count.value)</script><template></template>ref需要注意&#xff0c;在script脚本区域需要加上.value&#xff0c;然后在template模板区域使用不需要带.value

(笔记)InputChannel跨进程传输机制深度分析

概述 InputChannel是Android输入系统中负责跨进程事件传输的核心组件&#xff0c;它建立了InputDispatcher&#xff08;SystemServer进程&#xff09;与应用程序&#xff08;App进程&#xff09;之间的高效通信通道。本文深入分析InputChannel的实现机制&#xff0c;包括socket…

AI实时故障诊断系统(实时采集信号)

1.摘要 本文设计了一套“基于Labview的旋转机械信号分析与故障诊断系统&#xff08;可部署AI模型和实时监测设备运行状态&#xff09;”。首先&#xff0c;LabVIEW 端构建了信号采集与设备状态实时监测模块和本地数据故障诊断模块。该系统实现了“数据采集、数据处理、时频域特…

【51单片机】【protues仿真】基于51单片机篮球计时计分器数码管系统

目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 一、主要功能 1、数码管显示 1、比赛时间为15&#xff1a;00&#xff0c;甲乙队比分默认000&#xff0c;通过按键修改 3、比赛运行的状态下&#xff0c;按开始暂停键&#xff0c;比赛暂停&#…

[读论文]Hunyuan 3D 系列

1.0&#xff1a; &#xff08;adaptive clasisfier guidance&#xff0c;input 输入一个没cam的branch&#xff1b;提高triplane分辨率&#xff09; 总结&#xff1a; 大规模再train zero123&#xff0c;但角度设置不同&#xff1b;adaptive clasisfier guidance&#xff08;f…

深入理解文本向量嵌入(Vector Embeddings):原理、实践与应用场景

深入理解文本向量嵌入&#xff08;Vector Embeddings&#xff09;&#xff1a;原理、实践与应用场景 1. 什么是向量嵌入&#xff1f; 文本向量嵌入&#xff08;Vector Embedding&#xff09;是一种将文本转化为数值向量的技术&#xff0c;使得字符串之间的关联性可以通过数值…

微论-神经网络中记忆的演变

从微突触到宏认知&#xff1a;论神经网络中记忆的生成、固化与演化人脑的智能&#xff0c;并非源于单个神经元的孤立活动&#xff0c;而是诞生于由万亿突触连接所构成的庞大而复杂的网络动态之中。在这个网络中&#xff0c;连接权重的强度分布——即强的约束与弱的变数——共同…

机器视觉学习-day07-图像镜像旋转

图像的镜像旋转分为三种&#xff0c;分别使用filpcode的参数表示&#xff1a;flipcode0&#xff0c;垂直翻转&#xff08;x轴为中线&#xff09; 垂直翻转可以把src沿着x轴翻转&#xff0c;坐标从&#xff08;x,y&#xff09;翻转为(x,-y)。flipcode>0&#xff0c;水平翻转&…

Python备份实战专栏第2/6篇:30分钟搭建企业级API认证系统,安全性吊打90%的方案

30分钟搭建企业级API认证系统&#xff0c;安全性吊打90%的方案 专栏导语&#xff1a;《从零到一&#xff1a;构建企业级Python Web自动化备份系统实战指南》第2篇 作者简介&#xff1a;madechango架构师&#xff0c;负责设计零安全事故的API认证系统&#xff0c;拦截100%非法请…

第6篇:链路追踪系统 - 分布式环境下的请求跟踪

项目地址&#xff1a;https://github.com/nemoob/atlas-log 开箱即用。前言 在微服务架构中&#xff0c;一个用户请求往往会经过多个服务的协作处理。本章将实现一个轻量级的链路追踪系统&#xff0c;让日志具备分布式追踪能力。 分布式链路追踪基础概念 链路追踪的核心价值 #m…

ubuntu25.04编译最新版本qgroundcontrol

编译系统版本: 编译器版本: 编译成功效果

如何在 Docker 和AKS上使用 IIS

前言 在我们的一个客户项目中,我们有一个混合 Swarm 集群,其中包含 Linux 和 Windows 节点。在 Windows 节点上,我们运行了许多 IIS 容器,这些容器运行着多个 Web 应用程序。在这篇博文中,我想向您展示在 Docker 容器中将网站部署到 IIS 上是多么简单。 Internet 信息服…

uniapp 页面favicon.ico文件不存在提示404问题解决

1. uniapp 页面favicon.ico文件不存在提示404问题解决 1.1. 场景 在uniapp中经常出现的&#xff0c;因为找不到 favicon.ico 而报404错误的问题。 GET http://localhost:5174/favicon.ico 404 (Not Found)1.2. 问题原因 在document.ejs中使用link标签相对路径引入文件。 <…

Magicodes.IE.Pdf 生成导出PDF文件 bytes Stream FileStreamResult 下载

1、ExporterAttribute&#xff1a;导出特性 Name&#xff1a;名称 HeaderFontSize&#xff1a;头部字体大小 FontSize&#xff1a;正文字体大小 MaxRowNumberOnASheet&#xff1a;一个Sheet最大允许的行数&#xff0c;设置了之后将输出多个Sheet AutoFitAllColumn&#xff1a;自…

Python LangChain RAG从入门到项目实战10.:质量评价指标体系

好的&#xff0c;RAG (Retrieval-Augmented Generation) 系统的评估是一个多维度的问题&#xff0c;需要同时对检索器 (Retriever) 和生成器 (Generator) 的性能进行衡量。 评估指标主要分为三大类&#xff1a;检索质量、生成质量 和 整体系统质量。下图清晰地展示了这些核心指…

【记录】Copilot|Github Copilot重新学生认证通过方法(2025年7月,包括2FA和认证材料、Why are you not on campus)

文章目录前言步骤最重要的一步前言 事实上&#xff0c;Github Copilot马上就要开源了&#xff0c;我原本的认证过期了。但是在我体验了众多的代码补全工具实在是太难用了之后&#xff0c;我觉得一天也等不了了&#xff0c;就去再一次认证了学生认证。 这次严格了很多&#xff…

【C语言16天强化训练】从基础入门到进阶:Day 13

&#x1f525;个人主页&#xff1a;艾莉丝努力练剑 ❄专栏传送门&#xff1a;《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题、洛谷刷题、C/C基础知识知识强化补充、C/C干货分享&学习过程记录 &#x1f349;学习方向&#xff1a;C/C方向学习者…

单元测试到底是什么?该怎么做?

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快一、什么是单元测试&#xff1f;单元测试&#xff08;unit testing&#xff09;&#xff0c;是指对软件中的最小可测试单元进行检查和验证。至于“单元”的大小或范…

PostgreSQL【应用 04】加解密扩展 pgcrypto 使用实例(加密、导出、导入、解密流程说明)

加解密扩展 pgcrypto 使用实例1.需求说明2.工具说明2.1 环境说明2.2 插件添加3.实例分析3.1 测试数据3.2 进行加密3.3 数据导出3.3.1 Navicat 导出3.3.2 copy 命令导出3.4 数据解密3.4.1 Navicat 导入3.4.2 copy 导入3.5 坑1.需求说明 从内网导出敏感数据的时候&#xff0c;对…

SDK、JDK、JRE、JVM的区别

SDK、JDK、JRE、JVM的区别一、SDK二、JDK三、JRE四、JVM五、JDK、JRE、JVM三者关系图一、SDK SDK&#xff08;Software Development Kit&#xff0c;程序软件开发工具包&#xff09;&#xff0c;可以认为jdk只是sdk的一种&#xff08;子集&#xff09;&#xff0c;而当提及jav…