Linux环境Git自动部署SpringBoot脚本

/ 默认分类 / 无站内评论 / 117浏览

前言

​ 在树莓派服务器上经常会部署SpringBoot服务,就避免不了打包Jar上传致服务器再手动部署,加上服务器带宽比较小,频繁改动部署相当慢,因此直接从git上pull代码部署是比较快速便捷的,最后附加部署脚本.

部署流程

安装必要环境

请手动部署好以上环境,并配置环境变量

/etc/profile 以及 ~/.bashrc

export JAVA_HOME=/home/pi/github/jdk1.8.0_152
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export MAVEN_HOME=/home/pi/github/apache-maven-3.8.1
export PATH=$JAVA_HOME/bin:$PATH:$MAVEN_HOME/bin

立即生效

source /etc/profile

脚本

流程

  1. git拉取最新代码
  2. mvn编译打包
  3. java执行jar

根据实际情况修改好后将脚本保存命名为 autoRun.sh

#!/bin/bash
source /etc/profile
# 123456 是root用户密码
echo "123456" |sudo -S echo ""
# JAR包名
JAR_NAME=autojijin-0.0.1-SNAPSHOT.jar
# 源代码存储路径
SRC_PATH=/home/pi/app/src/ai-jijin
# JAR包部署路径
RUN_PATH=/home/pi/app/jar
# 日志文件名
LOGFILE=autojijin.log
cd $SRC_PATH/
echo "=========pwd========== " |pwd
# 拉取最新代码
git pull
# 编译打包
mvn clean
mvn package
echo "==================mvn package successfully=============="
# 拷贝jar包到部署路径中
cp $SRC_PATH/target/$JAR_NAME  $RUN_PATH/
# 杀死上个jar包运行的进程

pid=`ps -ef|grep $JAR_NAME |grep -v grep|awk '{print $2}'`
echo $pid
echo "==================kill -9 pid==========================="
# 逐个杀死进程
for id in $pid
do
kill -9 $id
echo "kill $id"
done
echo "====================kill end============================"
# 后台启动
cd $RUN_PATH/
echo "=========pwd========== " |pwd
nohup java -jar $JAR_NAME --server.port=8000>$JAR_NAME.log&

#echo "=======sudo nohup java -jar $JAR_NAME --server.port=8000>$JAR_NAME.log&======="
# 打印进程
ps -ef|grep $JAR_NAME

echo "============= SpringBoot jar is running ============="

sudo bash autoRun.sh

请注意要使用bash 执行脚本

参考资料:https://blog.csdn.net/weiyang_tang/article/details/97134929

琼ICP备18000156号

鄂公网安备 42011502000211号