Spring Boot Jar 包部署脚本

当使用 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 "服务已启动"