Spring在gradle構(gòu)建下服務(wù)器自動(dòng)部署腳本

如果你正在周而復(fù)始干服務(wù)器部署的話。下面寫的一段shell 腳本應(yīng)該還是可以有點(diǎn)收獲的,還算是挺實(shí)用的。

最近部署了第幾次服務(wù)器,感覺寫的有點(diǎn)郁悶,為啥老是寫相同的東西呢,然后這個(gè)腳本就產(chǎn)生了。

實(shí)現(xiàn)思路

  1. ps 顯示進(jìn)程,grep篩選進(jìn)程,awk是一個(gè)強(qiáng)大的文本分析工具篩選出tomcat8的pid
  2. kill掉tomcat的進(jìn)程
  3. gradle 自動(dòng)編譯打包成war包,如果使用maven則換maven的打包即可
  4. 更新你的代碼,svn update 或者git pull 即可
  5. 最后在startup.sh 即可啟動(dòng)tomcat
  6. 最后的最后當(dāng)然是crontab -e 寫下你的定時(shí)任務(wù)了。然后你就可以愉快的寫代碼了。再也不用煩惱服務(wù)器部署的事了。

使用方法:
1. 相信了解linux的人都懂改的。
缺陷:
仍未實(shí)現(xiàn)的地方是,當(dāng)編譯錯(cuò)誤,項(xiàng)目啟動(dòng)失敗,沒有發(fā)送郵件給你。這個(gè)是很大的弊端的,也就是沒有錯(cuò)誤檢查了。

#!/bin/sh
TOMCAT='/mnt/service/apache-tomcat-8.0.37'
PROJECT='/mnt/project/ascmRedRain/redRainInterface'

echo "deploy redRainProject"

pidList=`ps -ef|grep apache-tomcat-8.0.37|grep -v 'grep'|awk '{print $2'}`

if [ "$pidList" = "" ]; then

      echo "no tomcat pid alive"

else

  echo "tomcat id list :$pidList"
  kill -9 $pidList
  echo "kill $pidList"

fi

echo "svn update and clean complier and package"
cd $PROJECT&&svn update&&gradle clean&&gradle war

rm -rf $TOMCAT/webapps/redRainInterface.war && rm -rf $TOMCAT/webapps/redRainInterface

echo "copy to tomcat webApps "
cp build/libs/redRainInterface.war $TOMCAT/webapps/

echo "start tomcat ! Go Go Go!!!"
cd $TOMCAT && ./bin/startup.sh

<h1>最后點(diǎn)個(gè)??吧。</h1>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容