2024最新 Jenkins + Docker实战教程(八)- Jenkins实现集群并发构建

在这里插入图片描述

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志
🎐 个人CSND主页——Micro麦可乐的博客
🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战
🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战
🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解
💕《Jenkins实战》专栏主要介绍Jenkins+Docker+Git+Maven的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程
如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~

2024最新 Jenkins + Docker实战教程(八)- Jenkins实现集群并发构建

  • 1、前言
  • 2、什么是Jenkins集群?
  • 3、配置Jenkins集群
    • 3.1 集群准备
    • 3.2 开始配置
    • 3.3 验证配置
  • 4、测试并发构建
  • 5、Jenkins集群的优势
  • 6、结语

1、前言

Hello小伙伴们,今天博主又抽空来更新Jenkins系列教程啦,在我们日常开发工作中,随着项目规模和复杂度的增加,单台Jenkins服务器往往难以满足高频次、大量构建任务的需求。通过实现Jenkins集群并发构建,可以显著提升构建效率和系统可靠性。本文将详细介绍如何配置Jenkins集群,实现并发构建。

2、什么是Jenkins集群?

Jenkins集群(Master-Slave架构)由一个主节点(Master)和多个从节点(Slave)组成。主节点负责管理任务调度、配置和监控,而从节点则实际执行构建任务。通过将构建任务分布到多个从节点上,可以实现并发构建,提高构建效率和系统的弹性。

3、配置Jenkins集群

3.1 集群准备

前面的章节,我们使用了一台Jenkins服务器 + 一台应用服务器来实现自动化构建部署,今天我们需要增加一台Jenkins从节点服务器,无论你是克隆之前的Jenkins服务器还是新创建服务器作为从节点,必须要求有JDK的环境

从节点服务器无需安装Jenkins服务,但是必须保证安装了JDK环境

以博主的Parallels Desktop为例,复制Jenkins服务器作为从节点
在这里插入图片描述

将主节点和从节点服务器依次启动,两台服务器分别如下:

主节点:192.168.1.20 - 具备Jenkins环境并启动
从节点:192.168.1.22 - 具备JDK环境

3.2 开始配置

打开Jenkins管理界面:在浏览器中访问http://<your_master_server>:8080
找到 配置 - 节点和云管理
在这里插入图片描述
添加新的节点,命名为jenkins-1
在这里插入图片描述
创建完成进入配置
在这里插入图片描述
配置启动方式,博主为了简化操作,直接选择SSH启动代理

启动方式目前有三种

  • 通过在控制器上执行命令启动代理
  • Launch agents via SSH(通过SSH启动代理)
  • 通过Java Web启动代理

在这里插入图片描述

3.3 验证配置

最后确认是否同步成功
在这里插入图片描述
登陆从节点服务器观察工作目录,会发现工作目录下多了两个文件
在这里插入图片描述

4、测试并发构建

配置完成后观察左下角 构建执行状 态栏
在这里插入图片描述

在本教程之前的章节中,我们已经配置了一个 jenkins-demo 的任务, 具体可以访问:

2024最新 Jenkins + Docker 实战教程(四) - 编写自己的Springboot项目实现自动化部署

进入我们的 jenkins-demo 任务,会发现当我们配置了集群后,会多了两个选项
在这里插入图片描述

  • 在必要时并发构建:系统会自动分配运行节点
  • 限制项目运行节点:通过直接设定的标签来指定某个任务固定运行在某个节点

我们就设定 jenkins-demo 固定运行在从节点执行
在这里插入图片描述
最后我们来进行测试,本系列教程我们一共设置了三个任务(日常开发中可能存在更多部署任务)
在这里插入图片描述
观察构建执行状态,如下图:
在这里插入图片描述

构建测试说明
由于 hello-worldjenkins-demo-ssh 我们并未配置节点,而 jenkins-demo 我们限制了从节点

  • 所以会看到上图中 hello-worldjenkins-demo-ssh 都默认在主节点执行, jenkins-demo 在我们的从节点执行

5、Jenkins集群的优势

从上述的教程案例中,我们不难发现使用Jenkins集群具备以下几种优势:

  • 提升构建速度: 通过并行执行多个构建任务,缩短整体构建时间。
  • 提高系统可靠性: 分散构建负载,避免单点故障。
  • 弹性扩展: 可以根据需求动态添加或移除从节点,灵活应对构建压力。
  • 环境隔离: 可以在不同从节点上配置不同的构建环境,满足多样化的构建需求。

6、结语

通过配置Jenkins集群并发构建,可以显著提升构建效率和系统可靠性。本文详细介绍了Jenkins集群的安装与配置方法,包括节点管理和并发构建的实现步骤。小伙伴们通过合理配置和维护Jenkins集群,可以进一步优化CI/CD流程,提高项目的交付质量和速度。希望篇教程能为您在实际项目中应用Jenkins集群提供有价值的参考。如您在操作过程中出现任何问题欢迎留言,博主将在第一时间给予解答!


在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SEO之关键词分布

初创企业搭建网站的朋友看1号文章&#xff1b;想学习云计算&#xff0c;怎么入门看2号文章谢谢支持&#xff1a; 1、我给不会敲代码又想搭建网站的人建议 2、新手上云 经过核心关键词确定与关键词扩展&#xff0c;应该已经得到一个至少包含几百个相关关键词的大列表。这些关键…

解决 There is no getter for property named ‘null‘ in ‘class 报错

1. 问题 mybatis-plus在更新删除操作时报错 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession750ee72a] 2024-06-08 21:03:07 [http-nio-8080-exec-3] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servl…

人工智能在【肿瘤生物标志物】领域的最新研究进展|顶刊速递·24-06-08

小罗碎碎念 本期文献速递的主题是——人工智能在“肿瘤生物标志物”领域的最新研究进展。 重点关注 今天推荐的6篇文献中&#xff0c;第二篇和第三篇是小罗最喜欢的&#xff0c;因为对于临床来说&#xff0c;比较具有实际意义&#xff0c;也和自己的想法很契合。 尤其是第三篇…

python 多任务之多进程

多任务 优势 多个任务同时执行可以大大提高程序执行效率&#xff0c;可以充分利用CPU资源&#xff0c;提高程序的执行效率 概念 是指在同一时间内执行多个任务 多进程 概念 进程&#xff08;process&#xff09;是资源分配的最小单位&#xff0c;他是操作系统进行资源分配…

Vue3【十二】09Computed计算属性

Vue3【十二】09Computed计算属性 计算属性 获取全名 这种方式是只读的不能修改 这样定义fullName是一个计算属性&#xff0c;可读可写 案例截图 目录结构 代码 Person.vue <template><div class"person"><h1>我是 Person 组件</h1>姓&…

Latex中表格(3)

Latex中的表格 一、多行或多列单元格 这篇主要说Latex中表格出现多行或者多列单元格的形式. 一、多行或多列单元格 可能用到的宏包 \usepackage{booktabs}\usepackage{multirow} 代码&#xff1a; \begin{table}[h!] \centering \caption{Your caption here} \begin{tabul…

Vue学习day05笔记

day05 一、学习目标 1.自定义指令 基本语法&#xff08;全局、局部注册&#xff09;指令的值v-loading的指令封装 2.插槽 默认插槽具名插槽作用域插槽 3.综合案例&#xff1a;商品列表 MyTag组件封装MyTable组件封装 4.路由入门 单页应用程序路由VueRouter的基本使用 …

张量之力:人工智能的多维舞台

在人工智能&#xff08;AI&#xff09;的广阔天地里&#xff0c;张量&#xff08;Tensor&#xff09;这一数学概念如同璀璨的明星&#xff0c;以其独特的魅力和强大的功能&#xff0c;为AI技术的发展和应用注入了新的活力。张量&#xff0c;这个源自物理学的概念&#xff0c;如…

day32--Spring(一)

一、Spring简介 1 Spring课程介绍 问题导入 我们为什么要学习Spring框架&#xff1f; 1.1 为什么要学 Spring技术是JavaEE开发必备技能&#xff0c;企业开发技术选型命中率>90% 专业角度 简化开发&#xff0c;降低企业级开发的复杂性框架整合&#xff0c;高效整合其他技…

浅谈安全用电管理系统对重要用户的安全管理

1用电安全管理的重要性   随着社会经济的不断发展&#xff0c;电网建设力度的不断加大&#xff0c;供电的可靠性和供电质量日益提高&#xff0c;电网结构也在不断完善。但在电网具备供电的条件下&#xff0c;部分高危和重要电力用户未按规定实现双回路电源线路供电&#xff1…

nomachine使用记录以及录包以及自动画深度学习网络图

录包命令&#xff1a; rosbag record 话题名字&#xff08;可以是原相机话题和执行程序的话题&#xff09;rosbag play 包名&#xff08;可以离线播放包的数据&#xff09; rqt_image_view 话题可视化yolov8自动生成网络结构图&#xff1a; pip install tensorflowtensorboard…

高考后的职业规划:学习LabVIEW开发前景广阔

在今天的高考后&#xff0c;选择学习LabVIEW开发为未来职业规划将大有可为。LabVIEW以其图形化编程、强大的数据处理和硬件集成功能&#xff0c;广泛应用于工程、科研、自动化测试等领域。掌握LabVIEW开发技能&#xff0c;不仅就业前景广阔&#xff0c;还能参与前沿技术应用&am…

【web前端开发】标签(基础知识详解)

浏览器能识别的标签 编码 <meta charset"UTF-8"> title <title>helloshh</title> 标题 <h1>1级标签</h1> <h2>2级标签</h2> <h3>3级标签</h3> <h4>4级标签</h4> <h5>5级标签</h5> &…

Redis 实现持久化

Redis ⽀持 RDB ( 定期备份 ) 和 AOF ( 实时备份 ) 和 混合持久化 (结合RDB 和 AOF 的特点) 持久化机制&#xff0c;持久化功能有效地避免因进程退出造成数据丢失问题&#xff0c; 当下次重启时利⽤之前持久化的⽂件即可实现数据恢复。 RDB&#xff08;Redis DataBase&#xff…

网络编程之XDP技术介绍

一、简介 XDP&#xff1a;eXpress Data Path&#xff0c;快速数据面&#xff0c;听名字是不是很高大上。其实它就是一个快速处理Rx数据包的数据面技术。为什么现在对数据处理如此敏感&#xff1f;原因非常简单&#xff0c;随着网络的不断覆盖社会的各个层面&#xff0c;海量的…

手撕C语言题典——相交链表

目录 前言 一&#xff0c;思路 1&#xff09;暴力 2)同步指针 二&#xff0c;代码实现 前言 依旧是力扣上的一道题&#xff0c;有许多新思路提供给我们 160. 相交链表 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/intersection-of-two-linked-li…

烧写uboot、linux镜像、根文件系统到开发板

烧写uboot、linux镜像、根文件系统到开发板 环境介绍 本博客使用x6818开发板。 公司&#xff1a;三星 ARM架构 Cortex-A53核 型号&#xff1a;S5P6818 特性&#xff1a;8核&#xff0c;最高主频2GHz 烧写uboot 使用网络烧写 网络烧写上位机是Ubuntu虚拟机。 先利用上…

运 算 符

算术运算符 算术运算符包括&#xff1a;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;%&#xff0c;&#xff0c;-- 当左右两边都是数值型时&#xff0c;则做加法运算。 当左右两边有一方为字符串&#xff0c;则做拼接运算。任何一个 Java 对象都可以转换为字符串。 …

【Python】 闭包

什么是闭包 用一句话粗略概况为&#xff1a;在一个函数内&#xff0c;读取外部函数定义的变量的机制。更一般地说&#xff0c;闭包函数是带有状态的函数&#xff0c;状态是指调用环境的上下文&#xff0c;当函数带上了状态就是闭包。 如下代码&#xff0c;在函数f内定义了一个…

pyinstall 打包 paddleocr 成为.exe文件步骤

一、首先进入虚拟环境 使用pip安装pyinstaller pip install pyinstaller我的已经安装完成 二、用cmd进入当前打包文件夹下&#xff0c;新建使spec文件内容如下 注意&#xff1a;其中需要修改的部分是pathex中文件所在路径文件内容摘抄自另一篇博文(❄点击可查看❄) # -*- m…