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安裝及配置
目錄
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
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
註意以下三點即可
郵件下麵點擊高級設置配置郵件觸發條件
觸發條件選擇全部
設置成功後會主頁點擊立即構建,構建後查看郵件發送是否成功。
成功發送的郵件模板為:
在控制台輸出里查看構建日誌。
鉤子觸發成功,構建成功,郵件發送成功說明項目已經配置成功。