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.rhkb.cn/news/345103.html

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

相关文章

9.2 Go 接口的实现

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

Spark作业运行异常慢的问题定位和分析思路

一直很慢 &#x1f422; 运行中状态、卡住了&#xff0c;可以从以下两种方式入手&#xff1a; 如果 Spark UI 上&#xff0c;有正在运行的 Job/Stage/Task&#xff0c;看 Executor 相关信息就好。 第一步&#xff0c;如果发现卡住了&#xff0c;直接找到对应的 Executor 页面&a…

深度解析:AI Prompt 提示词工程的兴起、争议与未来发展

PART1: 提示词工程的兴起 在人工智能领域中&#xff0c;一个新的领域——提示词工程&#xff08;prompt engineering&#xff09;——开始显露头角。 这个领域的核心在于精心设计输入&#xff0c;以引导AI模型产生特定的、期望的输出。 随着AI技术的飞速发展&#xff0c;特别…

[Linux] 软链接使用绝对路径的重要性

文章目录 软链接使用绝对路径的重要性软链接路径复制软链接查看文件类型 软链接使用绝对路径的重要性 软链接路径 软链接必须指定绝对路径&#xff0c;否则复制软链接后&#xff0c;由于软链接的相对路径是从软链接所处位置开始解析的&#xff0c;因此使用相对路径的软链接可…

查询SQL02:寻找用户推荐人

问题描述 找出那些 没有被 id 2 的客户 推荐 的客户的姓名。 以 任意顺序 返回结果表。 结果格式如下所示。 题目分析&#xff1a; 这题主要是要看这null值会不会用&#xff0c;如果说Java玩多了&#xff0c;你去写SQL时就会有问题。在SQL中判断是不是null值用的是is null或…

【实战项目二】Python爬取豆瓣影评

目录 一、环境准备 二、编写代码 一、环境准备 pip install beautifulsoup4 pip intall lxml pip install requests我们需要爬取这些影评 二、编写代码 我们发现每个影评所在的div的class都相同&#xff0c;我们可以从这入手 from bs4 import BeautifulSoup import request…

Java面试八股之什么是反射,实现原理是什么

Java中什么是反射&#xff0c;实现原理是什么 Java中的反射&#xff08;Reflection&#xff09;是一种强大的特性&#xff0c;它允许程序在运行时检查和操作类、接口、字段和方法的信息。简而言之&#xff0c;反射机制使得程序能够在运行时动态地了解和使用自身或其他程序集中…

如何用群晖当异地组网服务器?

在当今信息化时代&#xff0c;远程通信成为了企业和个人之间不可或缺的一部分。特别是对于跨地区的通信需求&#xff0c;一个可靠的异地组网服务器是必不可少的。而群晖&#xff08;Synology&#xff09;作为一款功能强大的网络存储设备&#xff0c;可以被用作办公室或家庭的异…

pytorch笔记:自动混合精度(AMP)

1 理论部分 1.1 FP16 VS FP32 FP32具有八个指数位和23个小数位&#xff0c;而FP16具有五个指数位和十个小数位Tensor内核支持混合精度数学&#xff0c;即输入为半精度&#xff08;FP16&#xff09;&#xff0c;输出为全精度&#xff08;FP32&#xff09; 1.1.1 使用FP16的优缺…

计算机组成原理复习笔记

前言 就是按照考试的题型写的总结 非常应试版 题型 一、进制转换 只考 十进制 二进制 十六进制 之间的相互转换 一个个看 &#xff08;1&#xff09;十进制 转其他 转二进制&#xff1a;除以2 从小到大取余数&#xff08;0或1&#xff09; 转十六进制 &#xff1a; 除以1…

摆脱Jenkins - 使用google cloudbuild 部署 java service 到 compute engine VM

在之前 介绍 cloud build 的文章中 初探 Google 云原生的CICD - CloudBuild 已经介绍过&#xff0c; 用cloud build 去部署1个 spring boot service 到 cloud run 是很简单的&#xff0c; 因为部署cloud run 无非就是用gcloud 去部署1个 GAR 上的docker image 到cloud run 容…

墨雨云间王星越雨中情深

墨雨云间&#xff1a;王星越的雨中情深&#xff0c;吻上萧蘅&#xff0c;宿命之恋在烟雨朦胧的《墨雨云间》中&#xff0c;王星越饰演的角色&#xff0c;以其深邃的眼神和细腻的演技&#xff0c;将一段宿命之恋演绎得淋漓尽致。当镜头聚焦于他与阿狸在雨中的那一幕&#xff0c;…

Django学习三:views业务层中通过models对实体对象进行的增、删、改、查操作。

文章目录 前言一、Django ORM介绍二、项目快速搭建三、操作1、view.pya、增加操作b、删除操作c、修改操作d、查询操作 2、urls.py 前言 上接博文&#xff1a;Django学习二&#xff1a;配置mysql&#xff0c;创建model实例&#xff0c;自动创建数据库表&#xff0c;对mysql数据…

暴雨推出基于英特尔® 至强® 6 能效核处理服务器

随着人工智能技术的快速发展&#xff0c;大模型的应用越来越广泛。据预测&#xff0c;到2024年年底&#xff0c;我国将有5%-8%的企业大模型参数从千亿级跃升至万亿级&#xff0c;算力需求增速将达到320%&#xff0c;这进一步推动了数据中心的持续变革。 超凡性能&#xff0c;绿…

STM32中ADC在cubemx基础配置界面介绍

ADCx的引脚,对应的不同I/O口&#xff0c;可以复用。 Temperature :温度传感器通道。 Vrefint :内部参照电压。 Conversion Trigger: 转换触发器。 IN0 至 IN15,是1ADC1的16个外部通道。本示例中输出连接的是ADC2的IN5通道&#xff0c;所以只勾选IN5.Temperature Sensor Cha…

百度/迅雷/夸克,网盘免费加速,已破!

哈喽&#xff0c;各位小伙伴们好&#xff0c;我是给大家带来各类黑科技与前沿资讯的小武。 之前给大家安利了百度网盘及迅雷的加速方法&#xff0c;详细方法及获取参考之前文章&#xff1a; 刚刚&#xff01;度盘、某雷已破&#xff01;速度50M/s&#xff01; 本次主要介绍夸…

单元测试之CppTest测试框架

目录 1 背景2 设计3 实现4 使用4.1 主函数4.2 测试用例4.2.1 定义4.2.2 实现 4.3 运行 1 背景 前面文章CppTest实战演示中讲述如何使用CppTest库。其主函数如下&#xff1a; int main(int argc, char *argv[]) {Test::Suite mainSuite;Test::TextOutput output(Test::TextOut…

在离线单机或内网环境中快速安装Visual Studio 2022并还原用户设定

20240606 By wdhuag 目录 前言 参考&#xff1a; 在外网环境下载离线安装包 1、在已安装好VS的电脑上用Visual Studio Installer导出配置.vsconfig 2、下载在线安装包VisualStudioSetup_Enterprise_2022.exe到D:\VisualStudio\ 3、使用cmd定位到VisualStudioSetup_Enter…

什么是 AOF 重写?AOF 重写机制的流程是什么?

引言&#xff1a;在Redis中&#xff0c;持久化是确保数据持久性和可恢复性的重要机制之一。除了常见的RDB&#xff08;Redis Database&#xff09;持久化方式外&#xff0c;AOF&#xff08;Append Only File&#xff09;也是一种常用的持久化方式。AOF持久化通过记录Redis服务器…

使用 Django 和 MQTT 构建实时数据传输应用

文章目录 什么是 MQTT&#xff1f;Django 中的 MQTT结论 在现代的 Web 应用程序开发中&#xff0c;实时数据传输变得越来越重要。MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的发布/订阅消息传输协议&#xff0c;而 Django 是一个流行的 Pyt…