目录
1. 持续集成
1.1 什么是持续集成
持续集成( Continuous integration , 简称 CI )指的是,频繁地将代码集成到主干。 持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
通过持续集成, 团队可以快速的从一个功能到另一个功能,简而言之,敏捷软件开发很大一部分都要归 功于持续集成。
1.2 jenkins简介
Jenkins是一款流行的开源的持续集成工具,是基于Java开发的一种持续集成工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。操作界面简单友好,有非常丰富的插件可以使用。由于是由java语言开发,所以既可以在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(git、svn)、构建工具(Maven、Ant、Gradle)结合使用。
2. 软件安装
首先开发人员提交代码,提交到git仓库;然后Jenkins作为持续集成工具,需要从git仓库拉取代码,并通过jdk、maven等软件完成编译、构建、打包等操作;最后将生成的jar包或war包分发到对应的服务器,完成部署。所以,我们先安装一些软件。
2.1 前置准备
2.2.1 jdk安装
命令:yum install java-1.8.0-openjdk* -y
2.2.2 Maven安装
下载命令:wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解压:tar -xzvf apache-maven-3.6.3-bin.tar.gz
移动到指定路径:mv apache-maven-3.6.3-bin/* /usr/local/maven3.6.3
配置环境变量:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export MAVEN_HOME=/usr/local/maven3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile 配置生效
查看maven版本:mvn -v
修改maven配置:
修改本地仓库地址
<localRepository>/root/repo</localRepository>
修改镜像,添加阿里私服地址地址
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
2.2.3 git安装
命令:yum install git -y
查看版本:git --version
2.2 软件安装
- 安装命令:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
- 修改配置:
vi /etc/syscofig/jenkins
修改内容:
JENKINS_HOME="/usr/local/jenkins" 主目录(目录一定要存在),之后拉取的代码也会在这里,默认主目录/var/lib/jenkins
JENKINS_USER="root" 默认用户名
JENKINS_PORT="8888" 端口号,防止冲突
添加端口到防火墙,如果防火墙关了,就不用操作了。
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload
-
启动
systemctl start jenkins
,在浏览器输入ip+端口号,等待Jenkins启动
-
在服务器上输入
cat /usr/local/jenkins/secrets/initialAdminPassword
查看初始密码,将密码粘贴至上图输入框中,选择继续。 -
因为Jenkins插件需要连接默认官网下载,速度非常慢,而且经常会失败,所以这里选择 选择插件来安装,然后暂时先跳过不安装插件。
-
创建一个管理员用户,选择保存并完成,进入Jenkins后台。
-
实例配置处,点击保存并完成,至此Jenkins已经安装完成。
2.3 安装插件
Jenkins国外官方插件地址下载速度非常慢,我们可以设置为国内的地址。
Jenkins->Manage Jenkins->Manage Plugins
,点击Available,将Jenkins官方插件列表下载到本地。
- 修改地址文件
cd /usr/local/jenkins/updates(这里的/usr/local/jenkins是我前面修改过的地址,如果没有修改默认地址是/var/lib/jenkins/updates)
,使用命令将地址替换为国内地址。
替换命令直接执行:
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
- Manage Plugins点击Advanced,把Update Site改为国内插件下载地址
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
-
在浏览器输入:
http://ip地址:8888/restart
,重启Jenkins,至此替换地址完成,接下来就可以下载需要的插件了。 -
常用的插件
-
汉化插件:界面展示语言汉化;
-
用户权限管理:添加用户、角色等,有权限管理的功能
-
git插件:从git仓库拉取代码
-
Credentials Binding:凭证管理,git等密码信息,可以添加的凭证有5种(前两种更常用):
- Username with password:用户名和密码
- SSH Username with private key: 使用SSH用户和密钥
- Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径 设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
- Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
- Certificate:通过上传证书文件的方式
-