Jenkins CI/CD

1、 Jenkins CI/CD 流程图

说明:这张图稍微更形象一点,上线之前先把代码git到版本仓库,然后通过Jenkins 如Java项目通过maven去构建,这是在非容器之前,典型的自动化的一个版本上线流程。那它有哪些问题呢?

如:它的测试环境,预生产环境,测试环境。会存在一定的兼容性问题 (环境之间会有一定的差异)

说明:它这里有一个docker harbor 的镜像仓库,通常会把你的环境打包为一个镜像,通过镜像的方式来部署。

Jenkins持续集成01---Jenkins服务搭建和部署

2、介绍 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)

3、安装Jenkins

1、安装JDK

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

2、安装Jenkins
复制代码
1、上传 jdk11 tomcat jenkins.war
2、解压jdk
cpp 复制代码
[root@jenkins ~]# tar xf jdk-11.0.18_linux-x64_bin.tar.gz
复制代码
3、解压tomcat
cpp 复制代码
[root@jenkins ~]# tar xf apache-tomcat-8.5.50.tar.gz
复制代码
4、拷贝并修改名称
cpp 复制代码
[root@jenkins ~]# mv jdk-11.0.18/ /usr/local/java && mv apache-tomcat-8.5.50 /usr/local/tomcat
复制代码
5、处理环境变量
cpp 复制代码
[root@jenkins ~]# vim /etc/profile.d/java.sh
TOMCAT_HOME=/usr/local/tomcat
JAVA_HOME=/usr/local/java
PATH=$TOMCAT_HOME/bin:$JAVA_HOME/bin:$PATH
export TOMCAT_HOME JAVA_HOME PATH
[root@jenkins ~]# source /etc/profile.d/java.sh
复制代码
6、上传jenkins
cpp 复制代码
[root@jenkins ~]# rm -rf /usr/local/tomcat/webapps/*
[root@jenkins ~]# cp jenkins.war /usr/local/tomcat/webapps/
复制代码
7、启动tomcat,并页面访问
cpp 复制代码
[root@jenkins ~]# startup.sh
复制代码
​
访问 ip:8080

为了安全考虑,首先需要解锁Jenkins,请在/var/lib/jenkins/secrets/initialAdminPassword中查看文件。

在Jenkins服务器上查询管理员密码

cpp 复制代码
[root@centos7-1 ~]# cat /data/jenkins/secrets/initialAdminPassword

250d0360e2a149dbb7402f96a26945e2

② 选择需要安装的插件

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

开始安装,由于网络原因,有一些插件会安装失败。

③ 设置Admin用户和密码

④ 安装完成

⑤ 登录Jenkins

4、安装完后,简单的配置

1、系统配置

① 系统消息:Welcome to Jenkins~

② 全局属性--->环境变量,可根据自己的项目添加;如:gitlab:

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

④ 邮件配置

管理监控配置--->系统管理员邮件地址:along@163.com,要和下面的用户名一致;

邮件通知,配置如下:可以点击测试,是否配置成功

2、全局工具配置

如果你持续集成需要用的哪些工具,就需要在这里添加配置;后边持续集成中,将会详细讲解;

这里只举例:添加JDK工具

点击新增---> 取消自动安装 ---->然后查询Jenkins服务器上JDK的路径,填写JAVA_HOME ---> 保存即可

3、插件管理

这里有可更新、可选未安装插件、已安装插件;可以通过过滤快速查找

5、添加节点

node 节点的作用

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

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

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

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

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

1、准备节点
复制代码
1、准备一台新的服务器并配置java环境
2、主节点添加凭据,并推送公钥
3、在node节点配置需要的工具
2、系统配置
3、添加节点
4、检查节点
相关推荐
不会玩技术的技术girl3 小时前
AI 自动化编程的现状与局限
运维·人工智能·自动化
严不鸽4 小时前
Docker 常用总结
运维·docker·容器
小冯的编程学习之路4 小时前
【Linux】:Linux网络协议
linux·运维·网络协议
Just_Do_IT_OK4 小时前
Docker--Apollo-configservice
运维·docker·容器
dalongxia20245 小时前
数据中台从centos升级为国产操作系统后,资源增加字段时,提交报500错误
linux·运维·centos
木子欢儿6 小时前
debian12安装docker
运维·docker·云原生·容器·eureka
fengxingzhe0086 小时前
OSPFv2协议状态切换(状态机)基本原理-RFC2328
运维·网络·网络协议·面试·ospfv2·ospfv2协议状态机·ospfv2报文交互实例
恩爸编程7 小时前
Linux 定时任务:轻松创建与精准执行
linux·运维·数据库·linux定时任务·linux定时任务创建·linux定时任务执行·linux定时任务是什么
web182859970897 小时前
深入解析 Tengine:高性能 Web 服务器与反向代理的企业级应用
运维·服务器·前端
果粒陈爱写代码7 小时前
Linux day 1130
linux·运维·服务器