feat(deploy): 添加 start.sh(Docker exec / VM nohup 双模式)
This commit is contained in:
29
src/main/scripts/start.sh
Normal file
29
src/main/scripts/start.sh
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/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
|
||||||
Reference in New Issue
Block a user