Jenkins安装及配置php
目录html
一、安装java. 2java
1.1安装说明... 2linux
1.2建立java目录... 2git
1.3下载并解压... 2web
1.4设置环境变量... 2shell
1.5验证JDK有效性... 3vim
二、安装Git. 3bash
2.1安装GCC软件套件... 3服务器
2.2下载安装Git. 4
三、安装jenkins. 5
3.1下载安装... 5
3.2启动Jenkins. 5
3.3设置防火墙... 6
3.4错误解决方法... 7
四、快速配置Jenkins. 8
4.1基本设置... 8
4.2安装插件... 10
4.3设置插件... 11
4.4配置邮件... 12
五、建立并配置项目... 16
5.1新建项目,配置Git库... 16
5.2设置构建触发器... 18
5.3构建步骤设置... 20
5.4添加构建后操做... 21
本说明基于服务器版本:虚拟机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)系统,主要目标是监控软件开发流程,快速显示问题。减小重复过程,提升工做效率。
[root@localhost ~]# mkdir /usr/java
[root@localhost ~]# cd /usr/java
能够本地先下载好再传服务器去,下载地址
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
[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
[root@localhost java]# java -version
用来编译git。若是安装过则忽略。
yum install gcc
确认当前没有装过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
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
建议用第一种便可。
修改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
修改防火墙容许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
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:首次登录系统须要解锁
查看文件并复制密码
cat /var/lib/jenkins/secrets/initialAdminPassword
2:进入后选择插件安装
取消全部选中(不装插件直接进入系统)
3:设置管理员帐号进入系统
-配置邮件提醒
-拉取代码
Git plugin
-设置钩子推送后及时构建
Gitlab Authentication plugin
-备份还原
进入系统管理,点击管理插件,点击可选插件搜索出对应插件点击直接安装便可。
先配置java和git,实现代码拉取功能
名称随便填,JAVA_HOME填实际地址。本次为/usr/java/jdk1.8.0_162
Path to Git executable 填写Git可执行文件的路径。设置错误拉取代码会出错。
本次为 /usr/local/git/bin/git
可用which git查看路径
设置完保存便可。
为了实现邮件提醒功能
先进入系统设置
设置邮件:
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>
系统自带邮件能够测试邮件设置是否成功
默认邮箱多个使用英文逗号隔开。设置好保存便可。
输入项目名称选择自由风格
2:源码管理选择git,输入库地址添加帐号密码,输入分支名称
点击Add添加git帐号密码
如过报错,查看错误提示。
提示没法解析主机,域名没有配置。
修改hosts文件
vim /etc/hosts
添加域名便可
第一种:隔断时间对比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。
选择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
代码拉取完会执行该脚本。
构建结果能够设置邮件提醒用户。
构建后操做选择Editable Email Notification
注意如下三点便可
邮件下面点击高级设置配置邮件触发条件
触发条件选择所有
设置成功后会主页点击当即构建,构建后查看邮件发送是否成功。
成功发送的邮件模板为:
在控制台输出里查看构建日志。
钩子触发成功,构建成功,邮件发送成功说明项目已经配置成功。