jenkins啟動指令碼
阿新 • • 發佈:2019-02-07
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