Jenkins CI/CD

1、 Jenkins CI/CD 流程图

Jenkins CI/CD_第1张图片

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

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

Jenkins CI/CD_第2张图片

说明:它这里有一个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

[root@jenkins ~]# tar xf jdk-11.0.18_linux-x64_bin.tar.gz
3、解压tomcat

[root@jenkins ~]# tar xf apache-tomcat-8.5.50.tar.gz
4、拷贝并修改名称

[root@jenkins ~]# mv jdk-11.0.18/ /usr/local/java && mv apache-tomcat-8.5.50 /usr/local/tomcat
5、处理环境变量

[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

[root@jenkins ~]# rm -rf /usr/local/tomcat/webapps/*
[root@jenkins ~]# cp jenkins.war /usr/local/tomcat/webapps/
7、启动tomcat,并页面访问

[root@jenkins ~]# startup.sh
​
访问 ip:8080

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

Jenkins CI/CD_第3张图片

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

[root@centos7-1 ~]# cat /data/jenkins/secrets/initialAdminPassword

250d0360e2a149dbb7402f96a26945e2

② 选择需要安装的插件

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

Jenkins CI/CD_第4张图片

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

Jenkins CI/CD_第5张图片

③ 设置Admin用户和密码

Jenkins CI/CD_第6张图片

Jenkins CI/CD_第7张图片

④ 安装完成

Jenkins CI/CD_第8张图片

⑤ 登录Jenkins

Jenkins CI/CD_第9张图片

Jenkins CI/CD_第10张图片

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

1、系统配置

① 系统消息:Welcome to Jenkins~

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

Jenkins CI/CD_第11张图片

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

Jenkins CI/CD_第12张图片

④ 邮件配置

  管理监控配置--->系统管理员邮件地址:[email protected],要和下面的用户名一致;

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

Jenkins CI/CD_第13张图片

2、全局工具配置

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

这里只举例:添加JDK工具

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

Jenkins CI/CD_第14张图片

3、插件管理

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

Jenkins CI/CD_第15张图片

5、添加节点

node 节点的作用

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

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

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

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

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

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

2、系统配置

Jenkins CI/CD_第16张图片

3、添加节点

Jenkins CI/CD_第17张图片

Jenkins CI/CD_第18张图片

Jenkins CI/CD_第19张图片

4、检查节点

Jenkins CI/CD_第20张图片

你可能感兴趣的:(jenkins,ci/cd,运维)