因为需要使用jenkins做自动部署,所以写了个脚本来启动springboot,主要功能是备份下原来的jar,关闭现有进程,给jenkins新复制来的jar授权755,启动springboot。

#!/bin/bash
DATE=$(date +%Y%m%d)
JAR=test-0.0.1-SNAPSHOT.jar
JARPATH=/server-root
CONFIG=test-application.yml

if [ ! -d $DIR/backup ];
   then mkdir -p $JARPATH/backup
fi

echo "Stopping SpringBoot Application" 
pid=$(ps -ef | grep -i $JAR | grep -v "grep" | awk '{print $2}') 
echo "获取pid成功" + $pid 
if [ -n "$pid" ]; 
    then kill -9 $pid 
    echo '解除端口占用' 
fi

file=$JARPATH/$JAR 
if [ -f "$file" ]; 
    then echo '开始移动文件' mv $JARPATH/$JAR $JARPATH'/backup/'$JAR$DATE
fi
echo '移动成功'

echo '授予当前用户权限'
chmod 755 $JARPATH/$JAR
echo '执行......'
BUILD_ID=dontkillMe nohup java -jar $JARPATH/$JAR --spring.config.location=$JARPATH/$CONFIG > $JARPATH/$JAR-console.log 2>&1 &

exit 0

日志输出在同目录下的jar + "-console.log"中,修改前置变量JAR和JARPATH即可使用;

最后修改日期: 2019年9月18日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。