Jenkins-自動部署,備份
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外掛: SSH+Plugin" rel="nofollow,noindex" target="_blank">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小心一些其實沒啥技術含量,大家主要看看中文知道思路就行了,有更好的思路請留言....至此沒啥其他的了.已經可以自動部署,以及備份和重啟了....告辭!
原創文章,轉載請註明出處!