jenkins启动脚本

1.需求分析

   笔者项目jenkins+svn实现了自动打包及自动部署,但是部署之前先得kill原来的进程,显示不是很智能,所以笔者再次分享下自关闭原来进程,启动新服务的脚本

2.脚本分享

 #!/bin/sh

## 应用选项
source /etc/profile

export BUILD_ID=DontKillMe

CUR_DIR=$(pwd)

APP_DIR=/home/services

APP_NAME=micro-service-gateway-0.0.1-SNAPSHOT

APP_PORT=8074

JVM_OPTIONS="-Xms256m -Xmx256m"

JAR_NAME=$APP_NAME\.jar

 cd $APP_DIR

## 检查进程是否存在
 PID=$(ps -ef | grep -w "$APP_NAME" | grep -v "grep" | awk '{print $2}')
  if [ "$PID" == "" ]; then
    echo "应用:$APP_NAME 端口:$APP_PORT 进程不存在。"
            else
    echo "应用:$APP_NAME 端口:$APP_PORT 存在进程:$PID"
    kill -15 $PID
    sleep 3
            ## 如果仍然存在则强行停止
            CHECK_PID=$(ps -ef | grep -w "$APP_NAME" | grep -w "java"| grep -w "$APP_PORT" | grep -v "grep" | awk '{print $2}')
            if [ "$CHECK_PID" == "" ]; then
    echo "应用:$APP_NAME 端口:$APP_PORT 进程:$PID 停止成功。"
            else
    echo "应用:$APP_NAME 端口:$APP_PORT 进程:$PID 强行停止!"
    kill -9 $PID
            fi
    fi

    sleep 1

    echo "应用:$APP_NAME 端口:$APP_PORT 正在启动..."
    nohup java $JVM_OPTIONS -jar $APP_DIR/$JAR_NAME --server.port=$APP_PORT >/home/services/logs/gateway.txt &
    echo "应用启动命令已执行,稍候请检查服务是否可用。"

    cd $CUR_DIR

效果图如下:

好了,我是张星,欢迎加入博主技术交流群:526601468

发布了215 篇原创文章 · 获赞 375 · 访问量 97万+

猜你喜欢

转载自blog.csdn.net/zhangxing52077/article/details/83626987