实战一个 Jenkins 构建 CI/CD流水线 的简单配置过程哈

        引言:上一期我们讲述了gitlabCI/CD工具的介绍,工具之争,本期我们介绍Jenkins CI/CD 

目录

一、Jenkins介绍

1、Jenkins概念

2、Jenkins目的

3、特性

4、产品发布流程

二、安装Jenkins

1、安装JDK

2、安装Jenkins

1、上传压缩包

2、解压jdk

3、解压tomcat

4、拷贝并修改名称

5、处理环境变量

6、上传jenkins

7、启动tomcat,并页面访问

三、浏览器页面配置

四、安装完后简单的配置

配置邮箱

全局工具配置

添加节点

1、准备节点

2、系统配置

3、添加节点

4、检查节点


一、Jenkins介绍

1、Jenkins概念

  Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。

2、Jenkins目的

        ① 持续、自动地构建/测试软件项目。

        ② 监控软件开放流程,快速问题定位及处理,提示开放效率。

3、特性

        ① 开源的java语言开发持续集成工具,支持CI,CD。

        ② 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。

        ③ 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。

        ④ 分布式构建:支持Jenkins能够让多台计算机一起构建/测试。

        ⑤ 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。

        ⑥ 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。

4、产品发布流程

        产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线

                持续集成(Continuous integration,简称CI)

                持续交付(Continuous delivery)

                持续部署(continuous deployment)

二、安装Jenkins

1、安装JDK

        Jenkins是Java编写的,所以需要先安装JDK,这里采用yum安装,如果对版本有需求,可以直接在Oracle官网下载JDK;也可自己编译安装。

        java版本选择

Oracle | Cloud Applications and Cloud Platform

        tomcat版本选择

Index of /apache/tomcat (tsinghua.edu.cn)

        详情部署步骤可参考以下文章

被问到Tomcat是什么该怎么回答?他还有一个好帮手JDK你知道吗?-CSDN博客

2、安装Jenkins

1、上传压缩包

        jenkins版本选择

Jenkins 的安装和设置

        这里我们选择的是jdk-17  tomcat-9.0.83  以及jenkins2.426.3与jenkins的war包

2、解压jdk
tar xf jdk-17_linux-x64_bin.tar.gz 

3、解压tomcat
tar xf apache-tomcat-9.0.83.tar.gz

4、拷贝并修改名称
mv apache-tomcat-9.0.83 tomcat && mv jdk-17.0.7 java

5、处理环境变量
 vim /etc/profile.d/java.sh

加入以下内容:

export PATH=/opt/java/bin:$PATH
export PATH=/opt/tomcat/bin:$PATH                       

重新加载环境变量

 source /etc/profile.d/java.sh
6、上传jenkins

删除tomcat初始访问页面内容

rm -rf /opt/tomcat/webapps/*

将jenkins的war包一到tomcat页面访问目录

cp jenkins.war /opt/tomcat/webapps/
7、启动tomcat,并页面访问
startup.sh

三、浏览器页面配置

1、浏览器访问 ip:8080

如果出现AWT is not properly configured on this server. Perhaps you need to run your container with "-Djava.awt.headless=true"? See also: https://www.jenkins.io/redirect/troubleshooting/java.awt.headless的报错。这是我们返回服务器安装一个fontconfig依赖插件即可正常

yum -y install fontconfig

重新启动tomcat

shutdown.sh

startup.sh

再次访问 ip:8080加载过后来到下面的页面

2、根据提示在此文件中复制密码并粘贴到下面

3、 选择默认推荐即可,会安装通用的社区插件,剩下的可以在使用的时候再进行安装

 4、开始安装,由于网络原因,有一些插件可能会安装失败,等待即可

设置系统管理员用户和密码

安装完成

登录jenkins

四、安装完后简单的配置

配置邮箱

添加系统管理员的邮箱

扩展邮件通知(用于之后项目构建后发送邮件

添加默认邮件后缀

全局工具配置

jkd添加

添加节点

node 节点的作用

  1. 分布式构建:通过添加多个节点,可以在多台计算机上并行执行构建任务,从而加快构建速度和提高效率。节点可以是物理计算机、虚拟机、云实例或容器等。

  2. 扩展计算能力:通过添加更多的节点,可以扩展Jenkins的计算能力,使其能够处理更多的并发构建任务,从而适应不断增长的工作负载。

  3. 平台兼容性:使用Node节点可以在不同的操作系统、不同的硬件平台上执行构建任务,以满足项目的特定需求。您可以配置节点以适应特定的操作系统、软件环境和工具链。

  4. 隔离和安全性:将构建任务分配给独立的节点可以提供更好的隔离和安全性。节点之间相互独立,一个节点的故障或问题不会影响其他节点的工作。

  5. 负载平衡:Jenkins可以根据节点的负载情况自动分配任务,从而实现负载平衡。这样可以更好地利用可用资源,并确保每个节点都能以最佳状态运行。

1、准备节点
1、准备一台新的服务器并配置java环境
2、主节点添加凭据,并推送公钥
3、在node节点配置需要的工具
2、系统配置

image-20230611193513253

3、添加节点

image-20230611193601845

image-20230611194016152

image-20230611194029326

4、检查节点

image-20230611194101116

希望能够帮助到大家!!

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

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

相关文章

(done) 如何判断一个矩阵是否可逆?

参考视频:https://www.bilibili.com/video/BV15H4y1y737/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 这个视频里还暗含了一些引理 1.若 AX XB 且 X 和 A,B 同阶可逆,那么 A 和 B 相似。原因&#xff1…

北航复试知识点总结

2024.2.25 住行 报道+机试+两天面试=4天 面试流程 (每个人大概20min,早一点到考场!) 形式:5位老师(一记录,四提问) 老师 陆峰 办公地址:北京航空航天大学新主楼H1033 电子邮箱: lufeng@buaa.edu.cn 个人主页:http://shi.buaa.edu.cn/lufeng/ 面试礼仪 于无形中…

编曲学习:高叠和弦 挂留和弦 和弦实战应用

高叠和弦 挂留和弦 和弦实战应用小鹅通-专注内容付费的技术服务商https://app8epdhy0u9502.pc.xiaoe-tech.com/live_pc/l_65d4826fe4b04c10a1310517?course_id=course_2XLKtQnQx9GrQHac7OPmHD9tqbv 七和弦 以三和弦举例,三和弦上面叠一个三度的音,就变成了七和弦。 从下到…

Spring Boot利用Kaptcha生成验证码

生成验证码 我们在登录或注册某个网站的时候,会需要我们输入验证码,才能登录注册,那么如何生成验证码呢?其实,生成验证码我们可以用Java Swing在后台内存里的区域画一个出来,但是非常麻烦,所以…

WIFI EEPROM 简略分析-MT7628 EEPROM ANALYSIS

经常做WIFI的同学都了解,硬件设计完成后经过射频的测试满足设计要求后,在量产以及生产中都需要对WIFI的射频需要校准,保证产品射频输出功率的一致性。 在开发阶段就必须需要了解WIFI的EEPROM都是一些什么参数,一般在硬件开发阶段会拿到芯片厂家都SDK,里面都包含对EEPROM的…

用什么软件制作电子杂志

想要制作高大上的电子杂志?别再烦恼啦!今天给大家推荐一款超级实用的软件,让你轻松制作出专业水准的电子杂志! 这款软件功能强大,操作简单,适合所有对设计感兴趣的小伙伴们。无论是新手还是专业设计师&…

代码随想录算法训练营第二十五天 | 216.组合总和III,17.电话号码的字母组合 [回溯篇]

代码随想录算法训练营第二十五天 LeetCode 216.组合总和III题目描述思路参考代码总结 LeetCode 17.电话号码的字母组合题目描述思路参考代码 LeetCode 216.组合总和III 题目链接:216.组合总和III 文章讲解:代码随想录#216.组合总和III 视频讲解&#xff…

javascript监听浏览器离开、进入行为

document.addEventListener(visibilitychange, () > {if (document.visibilityState hidden) {alert(离开)}if (document.visibilityState visible) {alert(进入)}}) visibilitychange是浏览器新添加的一个事件,当其选项卡的内容变得可见或被隐藏时&#xff0…

React组件通讯

组件通讯 组件是一个独立的单元,默认情况下组件只能自己使用自己的数据。在组件化过程中,我们将一个完整的功能拆分成多个组件,便于更好的完成整个应用的功能。 Props 组件本来是封闭的,要接受外部数据应该可以通过Props来实现…

opencv图像处理

// 提取路口轮廓集合&#xff08;每个路口的轮廓为一系列点集&#xff09; std::vector<std::vector<cv::Point>> node_contours; std::vector<cv::Vec4i> node_hierarchy;保存轮廓的层次关系// 只提取外轮廓 轮廓近似方法&#xff1a;水平垂直对角线只保留端…

CSP-202209-3-防疫大数据

CSP-202209-3-防疫大数据 解题思路 一、数据结构定义 对于大模拟的题&#xff0c;合适的数据结构选择十分重要&#xff0c;正确的数据结构选择能够有效的提升解题效率 // 漫游消息结构体 struct RoamingData {int date, user, region; };vector<RoamingData> roamin…

C#与VisionPro联合开发——TCP/IP通信

TCP/IP&#xff08;传输控制协议/互联网协议&#xff09;是一组用于在网络上进行通信的通信协议。它是互联网和许多局域网的基础&#xff0c;为计算机之间的数据传输提供了可靠性、有序性和错误检测。在软件开发中&#xff0c;TCP/IP 通信通常用于实现网络应用程序之间的数据交…

YOLOv5算法进阶改进(17)— 添加BiFormer注意力机制 | 提升小目标检测精度

前言:Hello大家好,我是小哥谈。本文主要通过对YOLOv5模型添加Bifommer注意力机制为例,让大家对于YOLOv5模型添加注意力机制有一个深入的理解,通过本文你不仅能够学会添加Biformer注意力机制,同时可以举一反三学会其他的注意力机制的添加。🌈 前期回顾: YOLOv5算法进…

2024Node.js零基础教程(小白友好型),nodejs新手到高手,(八)NodeJS入门——http模块

一念心清净&#xff0c;处处莲花开。 055_http模块_网页资源加载基本过程 哈喽&#xff0c;大家好&#xff0c;这一课节我们来介绍一下网页资源加载的基本过程。首先先强调一点&#xff0c;这个内容对于我们后续学习非常非常的关键&#xff0c;所以大家务必要将其掌握。 首先先…

hbuilderx创建、运行uni-app

创建uni-app 在点击工具栏里的文件 -> 新建 -> 项目&#xff1a; 选择uni-app类型&#xff0c;输入工程名&#xff0c;选择模板&#xff0c;点击创建&#xff0c;即可成功创建。 uni-app自带的模板有 Hello uni-app &#xff0c;是官方的组件和API示例。还有一个重要模…

人人都是项目管理者,项目管理的基础入门

一、教程描述 本套教程旨在系统介绍项目管理的方法论&#xff0c;帮助大家认识、熟悉、体验、思考项目管理&#xff0c;全面掌握项目管理的流程与方法&#xff0c;快速成长为时代紧缺型的项目管理人才。本套项目管理入门教程&#xff0c;大小805.40M&#xff0c;共有13个文件。…

智慧农业—农业资源数据中心

综述 农业资源数据中心建设的目标是将大量的农业生产信息通过采集、清洗、核准后实现统一存储、统一管理,实现数据的共享和集中管理,保障数据的安全,也为数据的挖掘分析提供决策分析创造条件。 农业资源数据中心的数据架构如下图所示: (1)农业专家数据库。主要收录国内、…

三步实现SpringBoot全局日志记录,整合Echarts实现数据大屏

&#x1f680; 注重版权&#xff0c;转载请注明原作者和原文链接 小袁博客&#xff1a;https://boke.open-yuan.com/小袁博客后台&#xff1a;https://boke.open-yuan.com/back-manager/更多项目内容关注小红书&#x1f50d;OpenYuan开袁 http://xhslink.com/I9zNaC有需求可以在…

vue 手势解锁功能

效果 实现 <script setup lang"ts"> const canvasRef ref<HTMLCanvasElement>() const ctx ref<CanvasRenderingContext2D | null>(null) const width px2px(600) const height px2px(700) const radius ref(px2px(50))const init () > …

【AI链接】 大模型语言模型网站链接

目录 GPT类1. chatgpt2. GROP3. Google AI Studio4. Moonshot AI (国内) 解读论文类&#xff1a;1. txyz 编程辅助插件&#xff1a;1. Fitten Code GPT类 1. chatgpt https://chat.openai.com/ 2. GROP https://groq.com/ 3. Google AI Studio https://aistudio.google…