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
注意如下三點便可
郵件下面點擊高級設置配置郵件觸發條件
觸發條件選擇所有
設置成功後會主頁點擊當即構建,構建後查看郵件發送是否成功。
成功發送的郵件模板爲:
在控制檯輸出裏查看構建日誌。
鉤子觸發成功,構建成功,郵件發送成功說明項目已經配置成功。