转载

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
正文到此结束
Loading...