Jenkins安装及配置
目录
1、安装java. 2
1.1安装说明... 2
1.2创建java目录... 2
1.3下载并解压... 2
1.4设置环境变量... 2
1.5验证JDK有效性... 3
2、安装Git. 3
2.1安装GCC软件套件... 3
2.2下载安装Git. 4
3、安装jenkins. 5
3.1下载安装... 5
3.2启动Jenkins. 5
3.3设置防火墙... 6
3.4错误解决方法... 7
4、快速配置Jenkins. 8
4.1基本设置... 8
4.2安装插件... 10
4.3设置插件... 11
4.4配置邮件... 12
5、创建并配置项目... 16
5.1新建项目,配置Git库... 16
5.2设置构建触发器... 18
5.3构建步骤设置... 20
5.4添加构建后操作... 21
1、安装java
1.1安装说明
本说明基于服务器版本:虚拟机CentOs 6.9 内存4G
Java版本: 1.8
Jenkins版本:2.103
GItlab版本:10.1
自己注意java版本(建议用1.8以上)
建议安装vim: yum -y install vim-enhanced
Jenkins是一款持续集成CI(Continuous integration)系统,主要目标是监控软件开发流程,快速显示问题。减少重复过程,提高工作效率。
1.2创建java目录
[root@localhost ~]# mkdir /usr/java
[root@localhost ~]# cd /usr/java
1.3下载并解压
可以本地先下载好再传服务器去,下载地址
http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/jdk-8u162-linux-x64.tar.gz
--使用WinSCP工具传到/usr/java里,然后解压
[root@localhost java]# tar -zxvf jdk-8u162-linux-x64.tar.gz
1.4设置环境变量
[root@localhost java]# vim /etc/profile
在profile中添加如下内容:
#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_162
JRE_HOME=/usr/java/jdk1.8.0_162/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
让修改生效:
[root@localhost java]# source /etc/profile
1.5验证JDK有效性
[root@localhost java]# java -version
2、安装Git
2.1安装GCC软件套件
用来编译git。如果安装过则忽略。
yum install gcc
2.2下载安装Git
确认当前没有装过git的rpm包(如有则卸载)
yum remove git
安装所需依赖
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib zlib-devel gcc perl-ExtUtils-MakeMaker wget
下载并编译git
cd /usr/local/src/
wget https://www.kernel.org/pub/software/scm/git/git-2.15.1.tar.gz
tar zxf git-2.15.1.tar.gz
cd git-2.15.1
./configure
make prefix=/usr/local/git all
make prefix=/usr/local/git install
按顺序执行即可。
添加git变量
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
使设置生效
source /etc/bashrc
查看git版本
git --version
查看git位置
which git
3、安装jenkins
3.1下载安装
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins
或
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install jenkins
建议用第一种即可。
3.2启动Jenkins
修改Jenkins启动配置文件,指定java安装路径。
vim /etc/init.d/jenkins
在candidates中第一行添加java路径,如下:
candidates="
/usr/java/jdk1.8.0_162/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
"
修改Jenkins端口
vim /etc/sysconfig/jenkins
service jenkins start/stop/restart
chkconfig jenkins on
chkconfig --list |grep jenkins
jenkins 0:off 1:off 2:on 3:on 4:on 5:on 6:off
3.3设置防火墙
修改防火墙允许8080端口访问
vim /etc/sysconfig/iptables
加入
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9090 -j ACCEPT
按i 即可编辑 按Esc再输入:wq回车即可保存并退出。
重启防火墙生效:sudo service iptables restart
保存防火墙设置:sudo service iptables save
永久关闭防火墙:chkconfig iptables off
永久开启防火墙: chkconfig iptables on
打开防火墙:service iptables start
关闭防火墙:service iptables stop
查看防火墙状态:service iptables status
输入ip地址+8080即可访问jenkins
3.4错误解决方法
1:丢失密码
jenkins登录密码在这个文件里
vi /var/lib/jenkins/secrets/initialAdminPassword
cat /var/lib/jenkins/secrets/initialAdminPassword
2:执行shell脚本提示没有权限
修改所有者即可
1) vim /etc/sysconfig/jenkins
2) 找到$JENKINS_USER改为 “root”:
$JENKINS_USER="root"
3)然后更改Jenkins home,webroot和日志的所有权:
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
4).重新启动Jenkins并检查用户是否已被更改
service jenkins restart
3:启动成功,不能进入系统
1、很可能是端口冲突导致的。先排查端口。
2、防火墙没设置好导致的。
4、快速配置Jenkins
4.1基本设置
1:首次登陆系统需要解锁
查看文件并复制密码
cat /var/lib/jenkins/secrets/initialAdminPassword
2:进入后选择插件安装
取消所有选中(不装插件直接进入系统)
3:设置管理员账号进入系统
4.2安装插件
-配置邮件提醒
-拉取代码Git plugin
-设置钩子推送后及时构建Gitlab Authentication plugin
-备份还原
进入系统管理,点击管理插件,点击可选插件搜索出对应插件点击直接安装即可。
4.3设置插件
先配置java和git,实现代码拉取功能
名称随便填,JAVA_HOME填实际地址。本次为/usr/java/jdk1.8.0_162
Path to Git executable 填写Git可执行文件的路径。设置错误拉取代码会出错。
本次为 /usr/local/git/bin/git
可用which git查看路径
设置完保存即可。
4.4配置邮件
为了实现邮件提醒功能
先进入系统设置
设置邮件:
SMTP server:smtp.exmail.qq.com
ruanjianbu@hfhjzddata.com
Hjzd@*****
Default Subject: 构建通知:${BUILD_STATUS} - ${PROJECT_NAME}
- Build # ${BUILD_NUMBER} !
Default Content:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV,
var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
<style>
b{
font-size:16px;
}
td{
font-size:16px;
}
li{
font-size:16px;
}
</style>
</head>
<body leftmargin="8"
marginwidth="0" topmargin="8"
marginheight="4"
offset="0">
<table width="95%"
cellpadding="0" cellspacing="0"
style="font-size: 20px;
font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td>(本邮件是程序自动下发的,请勿回复!)</td>
</tr>
<tr>
<td><h2>
<font
color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
</h2></td>
</tr>
<tr>
<td><br />
<b><font
color="#0B610B">构建信息</font></b>
<hr size="2"
width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 :
${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>触发原因:
${CAUSE}</li>
<li>构建日志: <a
href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url : <a
href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录 : <a
href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目 Url : <a
href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul>
</td>
</tr>
<tr>
<td><b><font
color="#0B610B">变更集</font></b>
<hr size="2"
width="100%" align="center" /></td>
</tr>
<tr>
<td>${JELLY_SCRIPT,template="html"}<br/>
<hr size="2"
width="100%" align="center" /></td>
</tr>
</table>
</body>
</html>
系统自带邮件可以测试邮件设置是否成功
默认邮箱多个使用英文逗号隔开。设置好保存即可。
5、创建并配置项目
5.1新建项目,配置Git库
输入项目名称选择*风格
2:源码管理选择git,输入库地址添加账号密码,输入分支名称
点击Add添加git账号密码
如过报错,查看错误提示。
提示无法解析主机,域名没有配置。
修改hosts文件
vim /etc/hosts
添加域名即可
5.2设置构建触发器
第一种:隔断时间对比git库,发现有变更立即触发构建。
构建触发器选择Poll SCM 输入 H/3 * * *
* ‘3’代表3分种对比一次。
第二种:设置git钩子,有推送事件立刻触发构建。
先勾选Build when a
change is pushed to GitLab. GitLab CI Service URL:…….
再选择高级,点击生成按钮,生成一个Secret token
复制Secret token,和GitLab CI Service URL需要去git配置web hook使用。
(不同项目URL和token都不一样)
Gitlab hook设置
Gitlab版本10.1
1:进入项目选择设置
2:设置里选择集成
3:输入框输入对应URL和token
4:取消SSH验证,保存即可
生效后每次推送都会触发这个钩子,请求Jenkins执行构建任务。
版本不一样设置不一样,该设置适合新版本gitlab和新版Jenkins。
5.3构建步骤设置
选择Execute
shell
输入执行脚本
例:rm -f /var/lib/jenkins/workspace/OPM/common/config/main-local.php
&& cp -Rf
/var/lib/jenkins/workspace/OPM/* /home/htdocs/opm-it.hjzd.com
代码拉取完会执行该脚本。
5.4添加构建后操作
构建结果可以设置邮件提醒用户。
构建后操作选择Editable Email Notification
注意以下三点即可
邮件下面点击高级设置配置邮件触发条件
触发条件选择全部
设置成功后会主页点击立即构建,构建后查看邮件发送是否成功。
成功发送的邮件模板为:
在控制台输出里查看构建日志。
钩子触发成功,构建成功,邮件发送成功说明项目已经配置成功。