Spring Boot Jar 包部署脚本
javaroad 人气:0当使用 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 "启动成功"
加载全部内容