Spring在Gradle构建下服务器自动部署脚本

如果你正在周而复始干服务器部署的话。下面写的一段shell 脚本应该还是可以有点收获的,还算是挺实用的

最近部署了第几次服务器,感觉写的有点郁闷,为啥老是写相同的东西呢,然后这个脚本就产生了。

实现思路

  1. ps 显示进程,grep筛选进程,awk是一个强大的文本分析工具筛选出tomcat8的pid
  2. kill掉tomcat的进程
  3. gradle 自动编译打包成war包,如果使用maven则换maven的打包即可
  4. 更新你的代码,svn update 或者git pull 即可
  5. 最后在startup.sh 即可启动tomcat
  6. 最后的最后当然是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

猜你喜欢

转载自www.linuxidc.com/Linux/2017-07/145336.htm
今日推荐