您的位置:首页 > 其它

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

2021-02-26 21:51 176 查看

小麦是一名开发人员,每天写完代码后,都要打包部署到集成环境,然后等着测试人员测试,测试人员提出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,测试环境一个脚本就可以直接重新发布服务了。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: