美文网首页程序员
小麦的自动化部署脚本之路(java)

小麦的自动化部署脚本之路(java)

作者: 麦德漂 | 来源:发表于2019-03-14 09:40 被阅读12次

    小麦是一名开发人员,每天写完代码后,都要打包部署到集成环境,然后等着测试人员测试,测试人员提出bug时,小麦懊恼的修改着bug,然后修改代码,重新提交SVN,重新打包,上传到集成服务器,然后重启服务器,这么重复的工作,小麦忍不了了,决定化繁为简。

    小麦想着最近自己一直在学linux shell编程,是时候展示一波真正的技术了。刚学到新的命令:rz,小麦跃跃欲试。小麦一想,有了rz命令,再也不用点那个该死的Xftp了。但是启停服务器还是得执行两次命令,这个xshell能不能一次两台服务器一起搞啊,立马百度了下,还真有发送命令到所有会话,如图:

    小麦立马开工,同时杀掉两台服务器Tomcat进程,然后rz上传最新打的包,然后重新启动Tomcat。

    小麦边敲代码边想,这样还是啰嗦,Tomcat我凭什么执行一次停止,一次启动,写一个脚本自停自启好了。但是停止进程后,我还需要上传包才行,怎么办?忽然测试说,图片服务器的图片无法展示,小麦一看,最新的图片还没上传到图片服务器,立马将图片上传图片服务器。突然眼前一亮,我先把打好的包放到一个路径下,然后写一个脚本,停止Tomcat进程后,把最新的包mv到指定目录下,然后重启不就ok了,哈哈,说干就干。

    #找到tomcat进程id

    $p_tomcat = jps -v | grep tomcat8.5/ | awk -F ' ' '{printf $1}'

    #杀死进程

    kill -9 $p_tomcat

    #上传war包目录

    d_xiaomai=/app/xiaomai/

    #tomcat目录

    tomcat=/app/tomcat8.5

    #清除tomcat项目

    rm -rf $tomcat/webapps/apollo*

    #移动包到tomcat下

    mv $d_xiaomai/apollo.war $tomcat/webapps/apollo.war

    #重启tomcat

    $tomcat/bin/startup.sh

    小麦现在扔掉了xftp,然后同时操作两台服务器,用脚本重新发布。试了一下,没什么问题,小麦窃喜。不一会,测试又来找小麦了,又发现了一个bug,小麦高兴的脸又阴沉下去,再次回到idea修改代码,然后重新发布。小麦越想越不爽,我提交完代码,测试环境直接更新打包部署就好了,我为啥还要一次次上传,本地打好包,再上传服务器,服务器自己打包不就好了,小麦开始盘算怎么再智能一些。小麦嘴里念叨着:我需要一个svn,然后再来一个maven,完全ok,说完立马在测试环境安装了svn,maven,然后修改脚本代码,再次敲击起键盘。

    #svn指定目录

    d_xiaomai=/app/xiaomai/

    #切换到svn目录

    cd $d_xiaomai

    #指定svn目录下更新

    svn up

    echo 'SVN更新项目完成......'

    #maven打包

    mvn clean package -Dmaven.test.skip=true

    echo 'Maven编译打包项目完成......'

    小麦高兴的眯着眼,这回只要本地更新代码测试后,提交svn,测试环境一个脚本就可以直接重新发布服务了。

    喜欢欢迎关注微信公众号:码农小麦

    相关文章

      网友评论

        本文标题:小麦的自动化部署脚本之路(java)

        本文链接:https://www.haomeiwen.com/subject/pdwfmqtx.html