因为需要使用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即可使用;
留言