欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring Boot 应用 快速发布到linux服务器的脚本代码示例

程序员文章站 2022-03-17 09:36:43
前提说明:spring boot 应用打包成jar包之后要部署到Linux服务器上面运行,我用的nohup java -jar 命令,但是代码更新之后重新部署的时候覆盖原来的项目,又要手动运行ps -ef|grep jar包名 去查找进程,然后kill -9 去kill进程,有时候nohup进程老是 ......

前提说明:
spring boot 应用打包成jar包之后要部署到linux服务器上面运行,
我用的nohup java -jar 命令,但是代码更新之后重新部署的时候覆盖原来的项目,又要手动运行
ps -ef|grep jar包名 去查找进程,然后kill -9  去kill进程,有时候nohup进程老是kill不掉,只能多试几次,烦不胜烦。
.后来专门花时间研究了一下脚本和本地window上传文件到linux服务器的命令,
整合了一个启动脚本,顿时项目部署变得无比简单,一分钟内在线上的代码就可以更新了。下面是具体步骤:

#!/bin/sh

resource_name=zhgj-0.0.1-snapshot.jar

cd /home/workspace/zhgj3.0/

git pull 

mvn clean package

cd /opt/atlassian/zhgj_3.0/

tpid=`ps -ef|grep $resource_name |grep -v grep|grep -v kill|awk '{print $2}'`

kill -9 ${tpid}
 
rm -f tpid

###备份文件
currenttime=$(date +%y%m%d%h%m%s)

cp $resource_name ./backup/$currenttime.jar

rm -rf $resource_name

cp /home/workspace/zhgj3.0/target/zhgj-0.0.1-snapshot.jar /opt/atlassian/zhgj_3.0/

nohup java -jar $resource_name --spring.profiles.active=test > zhgj3_0.log  2>&1 & 

sleep 3

echo $! > tpid
echo start success!