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插件: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小心一些其實沒啥技術含量,大家主要看看中文知道思路就行了,有更好的思路請留言....至此沒啥其他的了.已經可以自動部署,以及備份和重啟了....告辭!

   原創文章,轉載請注明出處!

 

    

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM