需要用到2個插件。
git parameter:用於參數化構建時選擇分支。
Publish Over SSH:用於上傳jar包和操作tomcat
1.先在系統設置添加要連接的linux服務器,使用用戶名和密碼驗證,不需要私鑰和公匙。並在高級里點擊test是否成功
2.新建maven的job,添加參數化構建
3.選擇git,git的分支選擇步驟2的name
4.maven命令輸入打包install -Dmaven.test.skip=true -U
5. 添加over ssh,里面參數的配置參考:https://www.cnblogs.com/zz0412/p/jenkins_jj_10.html
6.我是先把jar或者war上傳到BUILD_ID的備份目錄(項目多的話,也可以在增加下$JOB_NAME/$BUILD_ID),然后又把jar復制到tomcat下,Exec command詳見操作命令
#!/bin/sh
#kill tomcat pid
export BUILD_ID=$BUILD_ID
# 1.關閉tomcat
pidlist=`ps -ef|grep 8081|grep -v "grep"|awk '{print $2}'`
function stop(){
if [ "$pidlist" == "" ]
then
echo "----tomcat 已經關閉----"
else
echo "tomcat進程號 :$pidlist"
kill -9 $pidlist
echo "KILL $pidlist:"
fi
}
stop
pidlist2=`ps -ef|grep 8081|grep -v "grep"|awk '{print $2}'`
if [ "$pidlist2" == "" ]
then
echo "----關閉tomcat成功----"
else
echo "----關閉tomcat失敗----"
fi
# 2.移除原來tomcat中webapps中的項目文件夾
rm -rf /usr/local/apache-tomcat-8081/webapps/ROOT/*
rm -rf /usr/local/apache-tomcat-8081/webapps/qingzhutool*
# 3.復制jenkins生成的war包到tomcat中webapps中
cp -r /home/war-jar-bak/$BUILD_ID/qingzhutool.jar /usr/local/apache-tomcat-8081/webapps
sleep 3s
# 4.修改war包的名稱
#mv /usr/local/tomcat_mobile/webapps/mobile.war /usr/local/tomcat_mobile/webapps/ROOT.war
# 5.啟動tomcat
cd /usr/local/apache-tomcat-8081/bin
sh startup.sh
最后執行sh的時候可能提示沒權限,進入tomcat,給sh文件賦權限即可
chmod +x *.sh