服务器自动打包发布shell脚本

脚本功能简介

  • 自动拉取Git服务器最新代码
  • 服务器maven自动打包
  • 自动重启发布jar项目
  • nohup 启动项目后保存进程号至文件

前置条件

  • Git可用
  • maven可用
  • spring boot打成jar包可以正常启动

脚本内容

#!/bin/sh

echo "  ====开始拉取仓库最新代码==== "
cd /data/code/better;pwd;

git pull;git status;
echo "         "
git log --pretty=format:"%h - %an, %ar : %s" -5;

echo "  ====服务器打包===="
mvn install -Dmaven.test.skip=true;
mvn clean package -Dmaven.test.skip=true;

echo "  ====移动jar包并改名===="
cd /data/app;pwd;
cp /data/code/better/backend_web/target/backend_web-1.0-SNAPSHOT.jar /data/app;
mv backend_web-1.0-SNAPSHOT.jar better.jar;

echo "  =====停止Java应用======"
#jps | grep better.jar | awk '{print $1;}' | xargs kill -9
kill -9 `cat /data/app/betterPid.txt`

echo "  =====启动Java应用======"
nohup java -jar better.jar >/data/logdir/better/out.log & echo $! > /data/app/betterPid.txt &

#查看日志
echo "         "
echo "  ===启动项目的进程号====";
cat /data/app/betterPid.txt;
tail -20f /data/logdir/better/out.log;

运行脚本

sh better.sh 

你可能感兴趣的:(服务器自动打包发布shell脚本)