Jenkins-自動部署,備份
問題導入:
環境:
CentOS 7, Tomcat 8.5, Jdk 1.8, Maven 3.25 ,Jenkins war包 2.x
原因:
每次部署都需要手動上傳war包,備份以及重啟服務,耗時耗力;
解決方案:
利用Jenkins自動部署
1.安裝並且配置Jenkins.參考:https://blog.csdn.net/zh520qx/article/details/55669142
2.安裝Jenkins插件:Publish Over SSH ,重啟Jenkins.
3.先配置服務器信息:點開:系統管理-->系統設置-->(往下拉)找到Publish over SSH,如圖配置:
4.回到首頁,打開任務(項目)的配置:
找到:
5.此處,已經配置完了.接下來就是shell腳本,腳本將進行備份以及重啟tomcat.,這里貼出本人的完整的shell腳本,根據個人情況.shell空格敏感,也可以參考其他的寫法;
#!/bin/sh echo "開始執行" echo "刪除舊的備份文件" rm -rf /app/backfils/xxx/xxx echo "備份項目,重新從tomcat中復制項目文件到此處" cp -r /app/tomcat/webapps/app/backfiles/xxx/ echo "停止tomcat" /app/tomcat/bin/shutdown.sh sleep 10 echo "殺掉進程" pid=$(ps -ef |grep -w 'tomcat-Djava' | grep -v 'grep'|awk '{print $2}') if [ -n $pid]; then kill -9 $pid sleep 3 fi echo "刪除tomcat舊的war包以及項目文件" rm -rf /app/tomcat/webapps/xxx rm -rf /app/tomcat/webapps/xxx.war echo "復制文件到tomcat發布目錄下" cp /app/deployfiles/xxx/xxx.war /app/tomcat/webapps/ echo "啟動tomcat" /app/tomcat/bin/startup.sh echo "完成"
執行的輸出語句可以在Jenkins的構建控制台看到;
shell小心一些其實沒啥技術含量,大家主要看看中文知道思路就行了,有更好的思路請留言....至此沒啥其他的了.已經可以自動部署,以及備份和重啟了....告辭!
原創文章,轉載請注明出處!