#開始 https://jenkins.io/ 到官網直接下載個最新版本的war包 服務器搭建tomcat,將jenkins.io 丟到tomcat 的發佈目錄: ###參考tomcat配置html
<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 放置目錄java
[root@localhost jenkins]# pwd /home/wwwroot/jenkins [root@localhost jenkins]# ls jenkins jenkins.war
#啓動tomcat 訪問 http://[ip]:18080/jenkins/ #安裝必要的插件 系統管理->管理插件->可選插件 Filter:輸入maven 安裝:Maven Integration plugin git
Filter:輸入publish 安裝:Publish Over SSHgithub
Filter:輸入email 安裝:Email Extension Pluginweb
#系統配置: ###Jenkins Location->系統管理員郵件地址 填入管理員郵箱; shell
###Extended E-mail Notification配置我這裏以QQ郵箱爲例: tomcat
注意:郵箱記得打開smtp 服務 jdk1.8下有可能報錯:服務器
javax.mail.MessagingException: Could not connect to SMTP host: smtp.***.com, port: 465; ... ...
####第一種解決方法: 導入證書oracle
$JAVA_HOME/bin/keytool -import -alias mail.****.com -file mail.****.com.cer -keystore $JAVA_HOME/jre/lib/security/cacerts
測試連接app
java SSLPoke smtp.*****.com 465
####第二種解決方法 下載 jce-7
%JAVA_HOME%/jre/lib/security
替換jdk1.8下的兩個包 Publish over SSH 最後test configuration 連接成功就ok
#Global Tool Configuration配置 系統管理->Global Tool Configuration ####Maven Configuration 我這裏直接配置服務器安裝好的setting.xml ####配置服務器已安裝jdk
####maven 目錄
#新建一個構建發佈任務
選擇ok 進入配置:
這裏有個遠程服務器執行的shell,放在遠程服務器上,須要加上 BUILD_ID=DONTKILLME 防止中止構建以後中斷執行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