写在前面的话
这里是一个在Linux
环境上,使用Git
+Maven
实现Spring Boot
项目的快捷部署和启动的脚本,推荐给JavaEE开发和运维同学们。
干货
- 在项目跟路径上新建一个 deploy.sh文件
vim deploy.sh
- 把这段脚本改吧改吧黏贴进去
dir=/data/demo-api
port=8899
project=demo-api
version=1.0.0.BETA
cd $dir
git pull origin mining
mvn clean package -Dmaven.test.skip=true
if [ -f $dir/target/*.jar ];then
# CentOS
# pid=`/usr/sbin/lsof -n -P -t -i:$port`
# Ubuntu
pid=`/usr/bin/lsof -n -P -t -i:$port`
echo "PID:"$pid
[ $pid ] && kill $pid
echo "waiting..."
nohup java -jar -Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m $dir/target/$project-$version.jar > $project.out &
tail -f $project.out
else
echo "deploy fail!"
fi
dir
是项目跟路径,就是clone完成后的.git、src和pom.xml所在的文件夹的绝对路径;
port
是项目的server.port,这里是用来找PID杀进程的;
project
和version
用来指定启动的Jar包,和nohup输出文件,我的项目打包后是demo-api-1.0.0.BETA.jar,输出到demo-api.out,在.gitignore中配置忽略项*.out
,所以在项目路径下的demo-api.out可以不受Git管理。
- 设置权限
开发环境是MacOS或Linux的同学可以直接在本地的Git仓库加好权限,Windows党同学建议用Linux环境加好权限再push一次。
chmod 755 deploy.sh
755是给root用户的,根据具体情况而定,测试环境的话也可以777