一 、CI/CD(持续集成/持续交付)
持续集成(Continuous Integration, CI)和持续交付(Continuous Delivery, CD)是软件开发中的两个关键概念。它们旨在通过自动化流程来加快软件的开发和交付速度,同时提高软件质量。
- 持续集成是指开发人员将代码频繁地集成到共享代码库中,并通过自动化构建、测试和部署流程来验证代码的正确性。这样可以快速发现和解决代码集成问题,减少开发周期,并确保团队成员之间的协作。
- 持续交付是建立在持续集成的基础上,指的是将经过验证的代码自动化地部署到生产环境中。这样可以保证软件始终处于可部署状态,减少手动操作和减轻人为错误的风险。
二、 Jenkins简介
Jenkins是一个开源的持续集成工具,用于自动化构建、测试和部署软件项目。它提供了一个可扩展的插件生态系统,可以满足各种不同的需求。 Jenkins支持多种编程语言和版本控制系统,可以与各种构建工具和测试框架集成。通过配置Jenkins的任务和工作流程,开发人员可以实现自动化的构建、测试和部署过程,从而加快软件开发的速度和质量。
Jenkins具有很多功能,包括:
- 持续集成:Jenkins可以定期或在代码提交时自动触发构建过程,确保代码的集成和验证。
- 构建和测试:Jenkins可以使用不同的构建工具和测试框架来构建和测试软件项目。
- 插件生态系统:Jenkins有一个丰富的插件生态系统,提供了各种功能和集成选项。
- 分布式构建:Jenkins可以在多台计算机上并行执行构建任务,加快构建速度。
- 可视化界面:Jenkins提供了一个易于使用的Web界面,用于配置和监控构建任务。
- 可扩展性:Jenkins可以通过插件进行扩展,满足各种不同的需求和场景。
三、Jenkins 平台安装部署
用户安装手册: 安装Jenkinshttps://www.jenkins.io/zh/doc/book/installing/
1.安装JDK
Jenkins是基于Java开发的一种持续集成工具,所以Jenkins服务器需安装 Java JDK开发软件。Jenkins平台搭建步骤如下:
这里我们安装jdk11,因为从2022年 6 月 28 日发布的 Jenkins 2.357 和发布的 9 月 LTS 版本开始,Jenkins 最低需要 Java 11。
详细参考:Jenkins requires Java 11 or newer
上传jdk-11.0.16_linux-x64_bin.tar.gz到服务器,解压:
JDK获取地址:Java Archive Downloads - Java SE 11 | Oracle 中国
[root@localhost ~]# tar xf jdk-11.0.16_linux-x64_bin.tar.gz
[root@localhost ~]# mv jdk-11.0.16 /usr/local/java
修改环境变量:
[root@localhost ~]# vim /etc/bashrc
在文件末尾添加:
JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
保存退出,并刷新:
[root@localhost ~]# source /etc/bashrc
测试jdk:
[root@localhost ~]# java -version
java version "11.0.16" 2022-07-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.16+11-LTS-199)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16+11-LTS-199, mixed mode)
2.安装tomcat
Jenkins可以不用安装tomcat,只要有Java环境就可以,他可以自己启动,但还是建议通过tomcat来启动 :
上传apache-tomcat-9.0.79.tar.gz到服务器,解压:
tomcat获取地址:https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
[root@localhost ~]# ls anaconda-ks.cfg apache-tomcat-9.0.79.tar.gz jdk-11.0.16_linux-x64_bin.tar.gz [root@localhost ~]# tar xf apache-tomcat-9.0.79.tar.gz [root@localhost ~]# mv apache-tomcat-9.0.79 /usr/local/tomcat [root@localhost ~]# vim /etc/profile
文件末尾添加:
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME保存退出,并刷新:
[root@localhost ~]# source /etc/profile
启动并测试:
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
浏览器访问:http://IP:8080
3.部署maven
Maven是一个开源的项目管理工具,用于构建和管理Java项目。它提供了一种统一的项目结构和构建过程,简化了项目的管理和构建流程。
使用maven的原因:
① 一个项目就是一个工程
如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。借助于maven就可以将一个项目拆分成多个工程
② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中
同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。借助于maven,可以将jar包保存在“仓库”中,不管在哪个项目只要使用引用即可就行。
③ jar包需要的时候每次都要自己准备好或到官网下载
借助于maven我们可以使用统一的规范方式下载jar包,规范
④ jar包版本不一致的风险
不同的项目在使用jar包的时候,有可能会导致各个项目的jar包版本不一致,导致未执行错误。借助于maven,所有的jar包都放在“仓库”中,所有的项目都使用仓库的一份jar包。
⑤ 一个jar包依赖其他的jar包需要自己手动的加入到项目中
FileUpload组件->IO组件,commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar
极大的浪费了我们导入包的时间成本,也极大的增加了学习成本。借助于maven,它会自动的将依赖的jar包导入进来。
maven获取地址:https://mirrors.cnnic.cn/apache/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
[root@localhost ~]# tar -zxvf apache-maven-3.8.8-bin.tar.gz -C /usr/local/
[root@localhost ~]# mv /usr/local/apache-maven-3.8.8/ /usr/local/maven
修改环境变量:
[root@localhost ~]# vim /etc/bashrc
export M2_HOME=/usr/local/maven
export M2=$M2_HOME/bin
PATH=$M2:$PATH:$HOME/bin:/usr/local/git/bin
export JAVA_HOME=/usr/local/java
export PATH
保存退出,并刷新:
[root@localhost ~]# source /etc/bashrc
maven测试:
[root@localhost ~]# mvn -version
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: /usr/local/maven
Java version: 11.0.16, vendor: Oracle Corporation, runtime: /usr/local/java
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"
4.部署Git
安装依赖包:
[root@localhost ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker fontconfig -y
官网下载Git:
[root@localhost ~]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
解压,编译安装:
[root@localhost ~]# tar xf git-2.9.5.tar.gz
[root@localhost ~]# cd git-2.9.5
[root@localhost git-2.9.5]# make prefix=/usr/local/git all
[root@localhost git-2.9.5]# make prefix=/usr/local/git install
修改环境变量:
[root@localhost ~]# vim /etc/bashrc
文件末尾添加:
PATH=$PATH:$HOME/bin:/usr/local/git/bin
[root@localhost ~]# source /etc/bashrc
测试:
[root@localhost git-2.9.5]# git --version
如果这里显示与你的安装版本不匹配,请删除后再刷新/etc/bashrc,再进行测试。
5. 下载jenkins
下载地址: http://updates.jenkins-ci.org/download/war/
[root@localhost ~]# rm -rf /usr/local/tomcat/webapps/*
[root@localhost ~]# cp jenkins.war /usr/local/tomcat/webapps/
[root@localhost ~]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
6.访问测试:
http://IP/jenkins
报错原因:缺少字体
[root@localhost ~]# yum install fontconfig
重启tomcat
安装完成!