#!/bin/bash
# JDK配置
JAVA_OPTS='-Xmx512m -Xss512k'
# 定义安装包
DEPLOY_JAR=do1cloud-apigateway-core-application-2.1.1-SNAPSHOT.jar
# 定义环境配置
ACTIVE_PROFILE=dev #激活配置
#licenses
LICENSE=-Ddo1.license=/home/data/nfdwzt/verifyinfo
# 进入目录执行
DIR_BASE=$(cd `dirname $0`; pwd)
cd ${DIR_BASE}
NEW_JAR="${DEPLOY_JAR}"
echo "即将部署JAR包是:$NEW_JAR"
# Kill掉准备发布需要使用的进程
if [ $(pgrep -f ${NEW_JAR} | wc -l) -gt 0 ]; then
pkill -9 -f ${NEW_JAR}
fi
sleep 1
# 启动程序
echo "开始启动程序$NEW_JAR"
echo "${JAVA_HOME}/bin/java $JAVA_OPTS $LICENSE -Denv=dev -Dspring.main.allow-bean-definition-overriding=true -Dapollo.meta=http://127.0.0.1:8080 -Dapp.id=do1cloud-apaas -jar ${DIR_BASE}/${NEW_JAR} --spring.profiles.active=${ACTIVE_PROFILE} "
nohup ${JAVA_HOME}/bin/java $JAVA_OPTS $LICENSE -Denv=dev -Dspring.main.allow-bean-definition-overriding=true -Dapollo.meta=http://127.0.0.1:8080 -Dapp.id=do1cloud-apaas -jar ${DIR_BASE}/${NEW_JAR} --spring.profiles.active=${ACTIVE_PROFILE} >stdout.log 2>&1 &
# 开始监听
echo -e "程序正在启动中..."
i=1
while [ ${i} -le 200 ] # 小于200等于时候才执行
do
i=`expr ${i} + 1`
sleep 3 # 休眠3秒再执行检测
# 判断程序是否已经启动完了
if [[ $(curl -m 5 -s -o /dev/null -w %{http_code} http://127.0.0.1:10001/actuator/health) = 000 ]]
then
echo -e ".\c"
else
echo -e "\n程序已正常运行【${i}】"
i=`expr ${i} + 300`
fi
done