执行:
/home/jenkins-script/spring-boot-deploy.sh restart dev root cloud-gateway-server /home/cloud
日志:
tail -f /home/cloud/cloud-gateway-server/logs/cloud-gateway-server.log
脚本:
#!/bin/bash
#
# chkconfig: - 20 80
# description: Starts and stops the App.
# author:cd
ENV=$2
RUNNING_USER=$3
APP_NAME=$4
SERVER_HOME=$5
APP_HOME=$SERVER_HOME/$APP_NAME
ADATE=`date +%Y%m%d%H%M%S`
#dirname $0|grep "^/" >/dev/null
#if [ $? -eq 0 ];then
# APP_HOME=`dirname $0`
#else
# dirname $0|grep "^\." >/dev/null
# retval=$?
# if [ $retval -eq 0 ];then
# APP_HOME=`dirname $0|sed "s#^.#$APP_HOME#"`
# else
# APP_HOME=`dirname $0|sed "s#^#$APP_HOME/#"`
# fi
#fi
if [ ! -d "$APP_HOME/logs" ];then
mkdir -p $APP_HOME/logs
fi
LOG_PATH=$APP_HOME/logs/$APP_NAME.log
GC_LOG_PATH=$APP_HOME/logs/gc-$APP_NAME-$ADATE.log
#JMX监控需用到
JMX="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1091 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
#JVM参数
JVM_OPTS="-Dname=$APP_NAME -Djeesuite.configcenter.profile=$ENV -Duser.timezone=Asia/Shanghai -Xms512M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -Xloggc:$GC_LOG_PATH -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
JAR_FILE=$APP_NAME.jar
pid=0
start(){
checkpid
if [ ! -n "$pid" ]; then
JAVA_CMD="nohup java -jar $JVM_OPTS $APP_HOME/$JAR_FILE > $LOG_PATH 2>&1 &"
su - $RUNNING_USER -c "$JAVA_CMD"
echo "---------------------------------"
#echo "启动完成,按CTRL+C退出日志界面即可>>>>>"
echo "启动完成>>>>> 查看日志:tail -f $LOG_PATH"
echo "---------------------------------"
#sleep 2s
#tail -f $LOG_PATH
else
echo "$APP_NAME is runing PID: $pid"
fi
}
status(){
checkpid
if [ ! -n "$pid" ]; then
echo "$APP_NAME not runing"
else
echo "$APP_NAME runing PID: $pid"
fi
}
checkpid(){
pid=`ps -ef |grep $JAR_FILE |grep -v grep |awk '{print $2}'`
}
stop(){
checkpid
if [ ! -n "$pid" ]; then
echo "$APP_NAME not runing"
else
echo "$APP_NAME stop..."
kill -9 $pid
fi
}
restart(){
stop
sleep 2s
start
}
case $1 in
start) start;;
stop) stop;;
restart) restart;;
status) status;;
*) echo "require start|stop|restart|status" ;;
esac
linux下验证码不显示问题解决:
JAVA_OPTIONS 添加:-Djava.awt.headless=true
jdk11 JVM基本参数有所修改:
JVM_OPTS="-Dname=$APP_NAME -Djeesuite.configcenter.profile=$ENV -Duser.timezone=Asia/Shanghai -Djava.awt.headless=true -Xms512M -Xmx512M -XX:+HeapDumpOnOutOfMemoryError -Xloggc:$GC_LOG_PATH -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"