如果你正在周而复始干服务器部署的话。下面写的一段shell 脚本应该还是可以有点收获的,还算是挺实用的。
最近部署了第几次服务器,感觉写的有点郁闷,为啥老是写相同的东西呢,然后这个脚本就产生了。
实现思路
- ps 显示进程,grep筛选进程,awk是一个强大的文本分析工具筛选出tomcat8的pid
- kill掉tomcat的进程
- gradle 自动编译打包成war包,如果使用maven则换maven的打包即可
- 更新你的代码,svn update 或者git pull 即可
- 最后在startup.sh 即可启动tomcat
- 最后的最后当然是crontab -e 写下你的定时任务了。然后你就可以愉快的写代码了。再也不用烦恼服务器部署的事了。
使用方法:
1. 相信了解linux的人都懂改的。
缺陷:
仍未实现的地方是,当编译错误,项目启动失败,没有发送邮件给你。这个是很大的弊端的,也就是没有错误检查了。
#!/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>
网友评论