bash脚本通过git下拉项目对maven项目进行打包并启动

java项目尤其是通过maven打包的项目在部署上传的时候通常会遇到 打包->ssh上传->启动的麻烦。但是有时候以为项目小或者服务器限制没法做jenkins这类的自动化部署工具,所以就很麻烦。因此结合网上的和自己需求写了一个脚本,以实现在远程服务中只需要通过git来pull下代码后即可运行脚本执行打包部署项目工作,方便了很多。

首要工作

当然是将项目pull出来

git pull

其次就是执行脚本

借鉴了网上的杀死进程脚本

#! /bin/bash
# process-monitor.sh
process=$1
ps x | grep $process | grep -v grep
pid = $(ps x | grep $process | grep -v grep | grep -v 'stop.sh' | awk '{print $1}')

echo 关闭进程 $pid

kill $pid
sleep 5

接下来就执行打包部署脚本

#! /bin/bash

mvn clean pakage -Dmaven.test.skip

echo '打包成功'

/cp -rf xxxxxx/src/main/resources/application-* xxxxxx/config
/cp -rf xxxxxx/target/XX.jar xxxxxx/xx.jar

sh stop.sh xx.jar

nohup java -Xmx128m -jar xxxxxx/xx.jar > xxxxxx/xx.log 2>&1 &

echo '启动成功'

tail -f xxxxxx/xx.log

还是比较好理解的。

玩个坑,看看后面可不可以做一个整合git的脚本然后再看看能不能自动或者定时任务比对git的commitId自动pull去部署

原文 

https://segmentfault.com/a/1190000023167357

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » bash脚本通过git下拉项目对maven项目进行打包并启动

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址