Docker容器之SpringBoot多环境部署

一.  项目结构:

说明: 其中1为启动脚本,2为maven构建配置 3 为将项目构建成公司统一管理风格 4 为pom依赖

app_control.bash:

#!/bin/bash
set -o pipefail
set -u
EXTERNAL_LOADER_PATH="../conf"
SERVER_PORT=8080
SHUTDOWN_HOST=127.0.0.1
EXEC_STD_OUT=/dev/null
LOG_ROOT_PATH="./logs"
LOG_FILE_NAME="em.log"
#source env.bash
#evironment set
WEB_BIN=`pwd`
CONF_DIR="${WEB_BIN}/../conf"
CONFIG_LOCATION=/data1/www/rz_entrance/config/java_config/rz_em_etl/application.properties
JAVA_OPTS=" -server -Xmx1g -Xms1g  -Xmn256m -XX:MetaspaceSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70"
JAVA_OPTS="${JAVA_OPTS} -Dserver.port=${SERVER_PORT}"
#JAVA_OPTS="${JAVA_OPTS} -Dloader.path=${WEB_BIN}/../conf,${EXTERNAL_LOADER_PATH}"
#JAVA_OPTS="${JAVA_OPTS} -Dlogging.path=${LOG_ROOT_PATH} -Dendpoints.logfile.external-file=${LOG_ROOT_PATH}/${LOG_FILE_NAME}"
START_UP_EXEC="java -Dfile.encoding=utf-8 -Dspring.config.location=${CONFIG_LOCATION} ${JAVA_OPTS} -jar $WEB_BIN/../lib/rz-em-etl.jar"
#Time Config
START_WAIT=5
SHUT_WAIT=10
KILL_INTERVAL=5
KILL_TIMES=5
#RETURN CODES
RET_SUCCESS=0
RET_INSTANCE_DEAD=1
RET_ERROR_SHUT=2
RET_ERROR_START=3
RET_STATUS_ALIVE=0
RET_STATUS_NOT_ALIVE=1
INSTANCE_PID=rz-em-etl.pid

function get_Pid(){
    if [ ! -z ${INSTANCE_PID} ];then
        if [ -f ${INSTANCE_PID} ];then
            cat "${INSTANCE_PID}"
        fi
    else
        ps -ef | grep -vE "grep $WEB_BIN|$0" | grep ${WEB_BIN} | awk '{print $2}'
    fi
}
#get pid
PID=`get_Pid`
function usage(){
        cat <<EOM
    Purpose  :    This script encapsulates the spring boot jar and just acts like a controller.
    Usage    :    bash ${0} start|shutdown|kill|force|restart|status
    Date     :    2017.03
EOM
}
#test instance alived or not
function is_Instance_Alive(){
    #kill -0 : test process alived or not
    if `kill -0 ${PID} 2>/dev/null` ; then
    #0 stands for success in shell
        return ${RET_SUCCESS}
    else
        return ${RET_INSTANCE_DEAD}
    fi
}
## remove pid file
function remove_Pid(){
   if [ ! -z ${INSTANCE_PID} ];then
       if [ -f ${INSTANCE_PID} ];then
           rm -f ${INSTANCE_PID}
       fi
   fi
}
## shutdown Instance
function shutd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值