Jenkins 部署

656 阅读1分钟

1,最近通过SpringBoot + jenkins部署

具体的部署方式和之前的类似, 文章如下: Jenkins安装部署实战

最后在部署Jenkins的时候一直报如下错误:

ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [-1]]

image.png

解决方法时在jenkins中部署脚本的时候,

把命令从 cd  /javaServer/sh/ &&  sh uniapp.sh restart
改成:cd  /javaServer/sh/ &&  sh uniapp.sh restart && ps -aux | grep -v grep | grep java

image.png

下面贴一下在jenkins上部署springboot脚本:

#!/bin/bash
JDK_HOME="/usr/local/jdk1.8.0_321/bin/java"
VM_OPTS="-Xms2048m -Xmx2048m"
SPB_OPTS="--spring.profiles.active=dev"
APP_LOCATION="/javaServer/app/renai-uniapp-*-SNAPSHOT.jar"
APP_NAME="app"
# PID_CMD="ps -ef |grep $APP_NAME |grep -v grep |awk '{print \$2}'"
# PID_CMD="ps -aux | grep uniapp | grep java | awk '{print $2}'"
PID_CMD="ps -aux | grep uniapp | grep java | grep -v grep |  awk '{print $2}'"
start() {
 echo "=============================start=============================="
 PID=$(eval $PID_CMD)
 if [[ -n $PID ]]; then
    echo "$APP_NAME is already running,PID is $PID"
 else
    nohup $JDK_HOME $VM_OPTS -jar $APP_LOCATION $SPB_OPTS > /javaServer/logs/uniapp.log 2>&1 &
    echo "nohup $JDK_HOME $VM_OPTS -jar $APP_LOCATION $SPB_OPTS > info.log 2>&1 &" 
    PID=$(eval $PID_CMD)
    if [[ -n $PID ]]; then
       echo "Start $APP_NAME successfully,PID is $PID"
    else
       echo "Failed to start $APP_NAME !"
    fi
 fi  
 echo "=============================start=============================="
}

stop() {
 echo "=============================stop=============================="
 PID=$(eval $PID_CMD)
 if [[ -n $PID ]]; then
    echo "PID is $PID"
    echo ""
    kill -15 $PID
    sleep 5
    PID=$(eval $PID_CMD)
    if [[ -n $PID ]]; then
      echo "Stop $APP_NAME failed by kill -15 $PID,begin to kill -9 $PID"
      kill -9 $PID
      sleep 2
      echo "Stop $APP_NAME successfully by kill -9 $PID"
    else 
      echo "Stop $APP_NAME successfully by kill -15 $PID"
    fi 
 else
    echo "$APP_NAME is not running!!!"
 fi
 echo "=============================stop=============================="
}

restart() {
  echo "=============================restart=============================="
  stop
  start
  echo "=============================restart=============================="
}

status() {
  echo "=============================status==============================" 
  PID=$(eval $PID_CMD)
  if [[ -n $PID ]]; then
       echo "$APP_NAME is running,PID is $PID"
  else
       echo "$APP_NAME is not running!!!"
  fi
  echo "=============================status=============================="
}

info() {
  echo "=============================info=============================="
  echo "APP_LOCATION: $APP_LOCATION"
  echo "APP_NAME: $APP_NAME"
  echo "JDK_HOME: $JDK_HOME"
  echo "VM_OPTS: $VM_OPTS"
  echo "SPB_OPTS: $SPB_OPTS"
  echo "=============================info=============================="
}

help() {
   echo "start: start server"
   echo "stop: shutdown server"
   echo "restart: restart server"
   echo "status: display status of server"
   echo "info: display info of server"
   echo "help: help info"
}

case $1 in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    restart
    ;;
status)
    status
    ;;
info)
    info
    ;;
help)
    help
    ;;
*)
    help
    ;;
esac
exit $?