開始
https://jenkins.io/ 到官網(wǎng)直接下載個最新版本的war包
服務(wù)器搭建tomcat,將jenkins.io 丟到tomcat 的發(fā)布目錄:
參考tomcat配置
<Connector port="18080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
... ...
<Host name="localhost" appBase="/home/wwwroot/jenkins"
unpackWARs="true" autoDeploy="true">
... ...
jenkins.war 放置目錄
[root@localhost jenkins]# pwd
/home/wwwroot/jenkins
[root@localhost jenkins]# ls
jenkins jenkins.war
啟動tomcat
訪問 http://[ip]:18080/jenkins/
安裝必要的插件
系統(tǒng)管理->管理插件->可選插件
Filter:輸入maven
安裝:Maven Integration plugin
![Maven Integration plugin](https://static.oschina.net/uploads/img/201701/19131915_xLBc.png)
Maven Integration plugin
Filter:輸入publish
安裝:Publish Over SSH
![Publish Over SSH](https://static.oschina.net/uploads/img/201701/19131945_Fb0o.png)
Publish Over SSH
Filter:輸入email
安裝:Email Extension Plugin
![Email Extension Plugin](https://static.oschina.net/uploads/img/201701/19132003_fT1b.png)
Email Extension Plugin
系統(tǒng)配置:
Jenkins Location->系統(tǒng)管理員郵件地址 填入管理員郵箱温算;
![填入管理員郵箱](https://static.oschina.net/uploads/img/201701/19132103_5pY5.png)
填入管理員郵箱
Extended E-mail Notification配置我這里以QQ郵箱為例:
![Extended E-mail Notification](https://static.oschina.net/uploads/img/201701/19132125_3OwM.png)
Extended E-mail Notification
注意:郵箱記得打開smtp 服務(wù)
jdk1.8下有可能報錯:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.***.com, port: 465;
... ...
第一種解決方法:
導入證書
$JAVA_HOME/bin/keytool -import -alias mail.****.com -file mail.****.com.cer -keystore $JAVA_HOME/jre/lib/security/cacerts
測試鏈接
java SSLPoke smtp.*****.com 465
第二種解決方法
下載 jce-7
%JAVA_HOME%/jre/lib/security
替換jdk1.8下的兩個包
Publish over SSH
![Publish over SSH](https://static.oschina.net/uploads/img/201701/19132258_SJ68.png)
Publish over SSH
最后test configuration 鏈接成功就ok
Global Tool Configuration配置
系統(tǒng)管理->Global Tool Configuration
Maven Configuration
我這里直接配置服務(wù)器安裝好的setting.xml
![Maven Configuration](https://static.oschina.net/uploads/img/201701/19132336_3UoO.png)
Maven Configuration
配置服務(wù)器已安裝jdk
![jdk](https://static.oschina.net/uploads/img/201701/19132358_Qccn.png)
jdk
maven 目錄
![maven](https://static.oschina.net/uploads/img/201701/19132451_sQEM.png)
maven
新建一個構(gòu)建發(fā)布任務(wù)
![構(gòu)建發(fā)布任務(wù)](https://static.oschina.net/uploads/img/201701/19132615_NZhL.png)
構(gòu)建發(fā)布任務(wù)
選擇ok
進入配置:
![](https://static.oschina.net/uploads/img/201701/19132638_B9SK.png)
![輸入圖片說明](https://static.oschina.net/uploads/img/201701/19132648_qrUx.png)
輸入圖片說明
![輸入圖片說明](https://static.oschina.net/uploads/img/201701/19132733_ujba.png)
輸入圖片說明
![輸入圖片說明](https://static.oschina.net/uploads/img/201701/19132744_OfhQ.png)
輸入圖片說明
![輸入圖片說明](https://static.oschina.net/uploads/img/201701/19132758_6PSH.png)
輸入圖片說明
這里有個遠程服務(wù)器執(zhí)行的shell草则,放在遠程服務(wù)器上蛮放,需要加上 BUILD_ID=DONTKILLME 防止停止構(gòu)建之后中斷執(zhí)行shell却音。shell主要是完成 復制上傳的war包到tomcat下的目錄,然后重啟tomcat,下面我給出簡單示例:
#!/bin/sh
projname=項目名字
deployPath=/home/webroot/default
tomcatUnzipPath=/home/webroot/[tomcat解壓路徑]/
uploadPath=/[war 上傳路徑]/${projname}.war
restartShell="[tomcat 重啟腳本]"
if [ -f "${uploadPath}" ]; then
rm -f ${deployPath}/${projname}.war
cp ${uploadPath} ${deployPath}/${projname}.war
rm -rf ${tomcatUnzipPath}
#重啟jetty
echo ${restartShell}
${restartShell}
else
echo "war 包不存在"
exit 1
fi
echo "success"
exit 0
參考:
Jenkins-郵箱配置及問題解決
解決jdk1.8中發(fā)送郵件失敗(handshake_failure)問題