From b7d6cbc1e26327e65ac175cae35fc28cd233d453 Mon Sep 17 00:00:00 2001 From: wh Date: Thu, 9 Apr 2026 19:35:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(deploy):=20=E6=B7=BB=E5=8A=A0=20start.sh?= =?UTF-8?q?=EF=BC=88Docker=20exec=20/=20VM=20nohup=20=E5=8F=8C=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scripts/start.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/scripts/start.sh diff --git a/src/main/scripts/start.sh b/src/main/scripts/start.sh new file mode 100644 index 0000000..5669657 --- /dev/null +++ b/src/main/scripts/start.sh @@ -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