如果你正在周而復(fù)始干服務(wù)器部署的話。下面寫的一段shell 腳本應(yīng)該還是可以有點收獲的败潦,還算是挺實用的管行。
最近部署了第幾次服務(wù)器厨埋,感覺寫的有點郁悶,為啥老是寫相同的東西呢捐顷,然后這個腳本就產(chǎn)生了荡陷。
實現(xiàn)思路
- ps 顯示進程,grep篩選進程,awk是一個強大的文本分析工具篩選出tomcat8的pid
- kill掉tomcat的進程
- gradle 自動編譯打包成war包,如果使用maven則換maven的打包即可
- 更新你的代碼迅涮,svn update 或者git pull 即可
- 最后在startup.sh 即可啟動tomcat
- 最后的最后當然是crontab -e 寫下你的定時任務(wù)了废赞。然后你就可以愉快的寫代碼了。再也不用煩惱服務(wù)器部署的事了叮姑。
使用方法:
1. 相信了解linux的人都懂改的唉地。
缺陷:
仍未實現(xiàn)的地方是,當編譯錯誤,項目啟動失敗耘沼,沒有發(fā)送郵件給你极颓。這個是很大的弊端的,也就是沒有錯誤檢查了。
#!/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>最后點個??吧群嗤。</h1>