当使用 Spring Boot 进行开发时,它可以将项目打包成 Jar 包进行部署,但是我们的部署环境一般都是 Linux,每次手写脚本很烦人,所以我提供了一个简单的脚本,用于部署 Spring Boot 生成的 Jar 包。

脚本内容很简单,就是通过端口 kill 掉旧的进程,并将新的 Jar 包部署上去。

#!/bin/bash
port=8090
jar_name="上传到服务器上的 Jar 包名称"
deployed_jar="服务器上部署的 Jar 包名称"
# Spring Boot 的 profile
active_profile=real
# 备份目录
backup_folder="/home/backup"
#根据端口号查询对应的pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');
#杀掉对应的进程
if [  -n  "$pid"  ];  then
    kill  -9  $pid;
fi
echo "服务已停止"
echo "备份文件:"
timestamp=`date "+%Y%m%d%H%M%S"`
if [ ! -d "${backup_folder}" ]
then
  mkdir -p "${backup_folder}"
fi
mv ${deployed_jar} ${backup_folder}/${deployed_jar}-${timestamp}.jar
mv ${jar_name} ${deployed_jar}
nohup java -jar ${deployed_jar} --spring.profiles.active=${active_profile} &
echo "服务已启动"

知识点扩展:

springboot的jar包部署shell脚本

#!/bin/sh
ID=`ps -ef|grep scada-server-report-smt-0.0.1-SNAPSHOT.jar|grep -v grep|awk '{print $2}'`
echo $ID
echo "---------------"
if [ -z $ID ]; then
	echo "无杀死的进程"
else
	for id in $ID
	do
	kill -9 $id
	echo "killed $id"
	done
fi
sleep 5
nohup java -Xms512m -Xmx512m -jar scada-server-report-smt-0.0.1-SNAPSHOT.jar > /dev/null 2>&1 &
echo "启动成功"

到此这篇关于Spring Boot Jar 包部署脚本的实例讲解的文章就介绍到这了,更多相关Spring Boot Jar 包部署脚本内容请搜索悠悠之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠悠之家!

点赞(113)

评论列表共有 0 条评论

立即
投稿
返回
顶部