30 lines
860 B
Bash
30 lines
860 B
Bash
|
|
#!/bin/bash
|
|||
|
|
# label-backend 启动脚本
|
|||
|
|
# - Docker 环境(检测 /.dockerenv):exec 前台运行,保持容器进程存活
|
|||
|
|
# - 裸机 / VM:nohup 后台运行,日志追加至 logs/startup.log
|
|||
|
|
|
|||
|
|
set -e
|
|||
|
|
|
|||
|
|
BASEDIR=$(cd "$(dirname "$0")/.." && pwd)
|
|||
|
|
LIBDIR="$BASEDIR/libs"
|
|||
|
|
CONFDIR="$BASEDIR/etc"
|
|||
|
|
LOGDIR="$BASEDIR/logs"
|
|||
|
|
|
|||
|
|
mkdir -p "$LOGDIR"
|
|||
|
|
|
|||
|
|
JVM_OPTS="${JVM_OPTS:--Xms512m -Xmx1024m}"
|
|||
|
|
MAIN_CLASS="com.label.LabelBackendApplication"
|
|||
|
|
JAVA_ARGS="$JVM_OPTS \
|
|||
|
|
-Dspring.config.location=file:$CONFDIR/application.yml \
|
|||
|
|
-Dlogging.config=file:$CONFDIR/logback.xml \
|
|||
|
|
-cp $LIBDIR/*"
|
|||
|
|
|
|||
|
|
if [ -f /.dockerenv ]; then
|
|||
|
|
# Docker 容器:exec 替换当前进程,PID=1 接管信号
|
|||
|
|
exec java $JAVA_ARGS $MAIN_CLASS
|
|||
|
|
else
|
|||
|
|
# 裸机 / VM:nohup 后台运行
|
|||
|
|
nohup java $JAVA_ARGS $MAIN_CLASS >> "$LOGDIR/startup.log" 2>&1 &
|
|||
|
|
echo "label-backend started, PID=$!"
|
|||
|
|
fi
|