feat: 添加自动化部署方案(Docker + 远程服务器两套方案)
- 新增 deploy/docker/:Docker 本机模拟部署,含 Dockerfile、docker-compose、deploy.sh 一键脚本 - 新增 deploy/remote/:远程服务器部署,含 SSH 自动上传、重启、回滚脚本 - 新增 deploy/README.md:完整使用手册,含现状分析、落地调整工作清单、命令速查 - 新增 build.sh/start.sh:本地构建和启动脚本(含飞书通知) - 新增前端 .env.docker 环境配置,API 指向测试服务器 - 前端 package.json 新增 build-docker 命令 - 更新 .gitignore:排除 IDE 配置、SQL 数据、Docker 敏感文件 - 前端 UI 样式优化(多个页面组件) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
37
deploy/remote/scripts/restart-task.sh
Executable file
37
deploy/remote/scripts/restart-task.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# 重启 Task 服务(Spring Boot JAR)
|
||||
#
|
||||
# 用法: restart-task.sh [profile] [jvm_opts]
|
||||
|
||||
TASK_DIR="/opt/smartclean/task"
|
||||
JAR_FILE="$TASK_DIR/task.jar"
|
||||
PID_FILE="$TASK_DIR/task.pid"
|
||||
LOG_FILE="$TASK_DIR/logs/task.log"
|
||||
PROFILE="${1:-prod}"
|
||||
JVM_OPTS="${2:--Xms256m -Xmx512m}"
|
||||
|
||||
# 停止旧进程
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
OLD_PID=$(cat "$PID_FILE")
|
||||
if kill -0 "$OLD_PID" 2>/dev/null; then
|
||||
echo "[INFO] 停止旧进程 PID=$OLD_PID"
|
||||
kill "$OLD_PID"
|
||||
sleep 3
|
||||
if kill -0 "$OLD_PID" 2>/dev/null; then
|
||||
echo "[WARN] 进程未正常退出,强制终止"
|
||||
kill -9 "$OLD_PID"
|
||||
fi
|
||||
fi
|
||||
rm -f "$PID_FILE"
|
||||
fi
|
||||
|
||||
# 启动新进程
|
||||
echo "[INFO] 启动 Task 服务 (profile=$PROFILE)..."
|
||||
nohup java $JVM_OPTS \
|
||||
-jar "$JAR_FILE" \
|
||||
--spring.profiles.active=$PROFILE \
|
||||
> "$LOG_FILE" 2>&1 &
|
||||
|
||||
echo $! > "$PID_FILE"
|
||||
echo "[INFO] Task 服务已启动, PID=$(cat "$PID_FILE")"
|
||||
Reference in New Issue
Block a user