提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
1.Jenkins
1.什么是持续集成 CI
持续集成(Continuous Integration,CI)。随着软件开发复杂度的不断提高,如何更好的协同开发以确保软件开发质量已经成为了开发团队所追求的目标,特别是近年来 “敏捷开发” 在互联网领域的兴起,如何能够在不断变化的需求中快速适应和保证开发质量显得尤为重要。
持续集成就是针对这类问题的一种软件开发实践,倡导团队必须经常集成他们的工作,而每次的集成都是通过自动化的构建来验证的,包括自动编译、发布、测试,从而更快发现集成错误,让团队更快的开发内聚的软件。
持续集成具有以下特点:
- 是一个自动化的周期性的集成测试过程,从检出代码、编译构建、运行测试,再到结果记录、测试统计等都是自动完成,无需人工干预
- 需要有专门的集成服务器来执行集成构建
- 需要有代码托管工具支持
持续集成的出现,保证开发团队交代码的质量,减轻了软件发布时的压力;其次就是全程自动完成,无需太多人工干预,极大的减少了重复的过程,节省了时间、工作量和成本。
2.Jenkins 介绍
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
- Jenkins 原名 Hudson,2011 年修改为 Jenkins,它是一个开源的实现软件持续集成的工具。官网地址如下(也有中文网址):
https://www.jenkins.io/
3.Jenkins自动化部署实现原理
Jenkins 具有以下特点:
-
易安装:官网下载直接运行
-
易配置:提供了友好的 GUI 配置界面
-
变更支持:能从代码仓库中获取并产生代码更新列表,输出到编译输出信息
-
支持永久链接:用户是通过 Web 来访问 Jenkins 的,而这些 Web 界面的链接地址是永久的,可在任何文档中直接使用
-
集成 E-mail/RSS/IM
-
JUnit/Test NG 测试报告:以图表形式提供测试报告
-
文件指纹信息:会保存哪次集成构建产生了哪些 jars 文件,哪次集成使用了哪个版本的 jars 文件等记录
-
支持第三方插件
4.Jenkins部署环境
基本环境:
- jdk环境,Jenkins是java语言开发的,因需要jdk环境。
- git/svn客户端,因一般代码是放在git/svn服务器上的,我们需要拉取代码。
- maven客户端,因一般java程序是由maven工程,需要maven打包,当然也有其他打包方式,如:gradle
以上是自动化部署java程序jenkins需要的基本环境,请自己提前安装好,下面着重讲解Jenkins的安装部署配置。
2.Jenkins安装
1. 安装 Jenkins
第一步,下载 Jenkins 安装包,打开Jenkins 官方文档;https://www.jenkins.io/download/
可以看到官方提供的在线安装方式;https://www.jenkins.io/doc/book/installing/linux/
可以看到官方提供的在线安装方式;
打开 Xhell 并连接虚拟机/服务器,按照以下步骤进行下载;
# 下载镜像
wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 安装
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# 更新
yum upgrade
# 安装 Java 环境
yum install java-11-openjdk
#安装 Jenkins
yum install jenkins
2. 本地访问 Jenkins
Jenkins 安装完成之后,就可以使用 虚拟机/服务器IP:端口 在本地进行访问了,初始界面如下;
根据提示密码存于/var/lib/jenkins/secrets/initialAdminPassword 目录中;
输入密码后进入如下界面;
我们选择安装推荐的插件,Jenkins 便会开始自动下载安装,如下正在安装;
安装完成后,创建我们的第一个用户;
进入 Jenkins 主页如下;
3. 插件的安装
使用推荐安装方式只能帮我们安装一部分最为常用的插件,有某些插件如 maven 等还是需要我们手动去安装的。
点击 “系统管理” --> “插件管理”;
在这里可以看到我们需要的插件,按需下载即可;
4. 卸载 Jenkins
# rpm卸载Jenkins
rpm -e jenkins
# 检查是否卸载成功
rpm -ql jenkins
# 彻底删除残留文件
find / -iname jenkins | xargs -n 1000 rm -rf
3.Jenkins基本配置
1.Configure System (系统设置)
在系统设置这里,我们只需要设置最后面的一项,配置远程服务器地址,
即我们代码最终运行的服务器地址信息,就像我们之前手动部署时使用xshell登录Linux服务器一样,
当然这里是可以配置多台远程Linux服务器的,配置完成后点击保存即可,为后面我们配置自动化部署做准备,配置如下图
2.Configure Global Security (全局安全配置)
3.Global Tool Configuration (全局工具配置 )
点击“系统管理” --> “全局配置”,可以看到需要配置的插件,需要配置的有 jdk、git、maven 工具;
- jdk
- git
- maven
3.1 Git 的安装与配置
(直接使用 yum 命令安装虽然更为简单但版本会很低,为防止今后报错所以推荐此方式安装)
首先下载 git 压缩包并上传至虚拟机/服务器;
按照以下步骤进行操作;
#1.解压压缩包
tar -zxvf git-2.27.0.tar.gz
#2.在Linux系统中是需要编译源码的,首先下载所需要的依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
#3.卸载旧版本的 git(安装依赖是会自动安装 git,所以需要卸载旧版本)
yum -y remove git
#4.进入解压后的文件夹
cd git-2.27.0
#5.编译git源码
make prefix=/usr/local/git all
#6.安装git至/usr/local/git路径
make prefix=/usr/local/git install
#7.配置环境变量
vi /etc/profile
在底部加上该行代码:export PATH=$PATH:/usr/local/git/bin
#8.配置完成后刷新环境变量
source /etc/profile
操作完成之后使用命令 git --version 查看 git 版本,如下 2.27 版本安装成功;
[root@192 git-2.27.0]# git --version
git version 2.27.0
此时我们查看一下 git 路径 which git;
[root@192 git-2.27.0]# which git
/usr/local/git/bin/git
3.2 JDK 的安装与配置
下载一个 jdk 的 rpm 包并上传至虚拟机/服务器;
3.3 maven 的安装与配置
下载 apache-maven .tar.gz 包并上传至虚拟机/服务器;
4.配置必要插件
主要是检查如下这两个插件是否已安装
- 插件1:Publish over SSH
- 插件2:Deploy to container Plugin
到这里,我们配置一个自动化部署的的java程序(springBoot+maven+gitHub),基本必要配置就差不多了,后面配置过程中如果需要在配置。