Springboot 2本番導入の注意事項とサンプルコード

2377 ワード

注意事項
1.不要なjarを取り除く
開発ツールjar:springs-boot-devtools
2.モニタリングは必ず権限制限或いは除去を行う
制御jar:spring-boot-starter-actuatorモニタリング
druidのモニタリング
swaggerのインタフェース
3梱包時にテストをスキップする
   maven : clean package -Dmaven.test.skip=true
パッケージ・スクリプトの例:

#!/bin/sh
## chang here
SERVICE_DIR=/roncoo/spring-boot-demo
SERVICE_NAME=spring-boot-demo-31-1-0.0.1-SNAPSHOT
SPRING_PROFILES_ACTIVE=dev
## java env
export JAVA_HOME=/opt/jdk1.7.0_79
export JRE_HOME=${JAVA_HOME}/jre
case "$1" in 
  start)
    procedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | awk '{print $2}'`
    if [ "${procedure}" = "" ];
    then
      echo "start ..."
      if [ "$2" != "" ];
      then
        SPRING_PROFILES_ACTIVE=$2
      fi
      echo "spring.profiles.active=${SPRING_PROFILES_ACTIVE}"
      exec nohup ${JRE_HOME}/bin/java -Xms128m -Xmx512m -jar ${SERVICE_DIR}/${SERVICE_NAME}\.jar --spring.profiles.active=${SPRING_PROFILES_ACTIVE} >/dev/null 2>&1 &
      echo "start success"
    else
      echo "${SERVICE_NAME} is start"
    fi
    ;;
  stop)
    procedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | awk '{print $2}'`
    if [ "${procedure}" = "" ];
    then
      echo "${SERVICE_NAME} is stop"
    else
      kill -9 ${procedure}
      sleep 1
      argprocedure=`ps -ef | grep -w "${SERVICE_NAME}" |grep -w "java"| grep -v "grep" | awk '{print $2}'`
      if [ "${argprocedure}" = "" ];
      then
        echo "${SERVICE_NAME} stop success"
      else
        kill -9 ${argprocedure}
        echo "${SERVICE_NAME} stop error"
      fi
    fi
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start $2
    ;; 
  *)
    echo "usage: $0 [start|stop|restart] [dev|test|prod]"
    ;; 
esac

条件があればjenkinsで自動的に構築したほうがいいです
まとめ
以上、springboot 2の生産配置に関する注意事項とサンプルコードを紹介しました.