Springboot项目部署在Linux上,通过shell脚本快速部署

一、使用情景

Jenkins的自动部署:先关闭原先的应用进程,然后重新部署启动。
使用tomcat部署:通过Tomcat目录下的startup.sh、shutdown.sh部署。
SpringBoot的Jar包部署:kill掉应用的pid,然后重新部署启动。

二、解决思路:

每次启动的pid都是不一样的,而已知的是应用的端口号,所以可以根据端口号查找到对应的应用进程,然后kill。

二、shell中通过端口号查询pid

#后台程序对应的端口号
port=8080
#根据端口号查询对应的pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');

#杀掉对应的进程,如果pid不存在,则不执行
if [  -n  "$pid"  ];  then
    kill  -9  $pid;
fi
#然后重新启动同级目录下的jar包
nohup java -jar *.jar &

 

你可能感兴趣的:(应用运维,java学习笔记)