Explorar o código

feat: 添加简化版自动部署脚本

- 前端使用 vite dev server 直接运行源码
- 后端编译后用 PM2 运行
- Nginx 反向代理 / -> 前端 5173, /api -> 后端 3100

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
MyFramework User hai 4 meses
pai
achega
9ddf762cb4
Modificáronse 1 ficheiros con 63 adicións e 0 borrados
  1. 63 0
      server/deploy-simple.sh

+ 63 - 0
server/deploy-simple.sh

@@ -0,0 +1,63 @@
+#!/bin/bash
+# 简化版自动部署脚本 - 直接运行源码
+
+set -e
+
+DEPLOY_LOG="/tmp/deploy-simple.log"
+PROJECT_DIR="/data/ai/audio_codebuddy"
+FRONTEND_PORT="5173"
+BACKEND_PORT="3100"
+
+log() {
+    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$DEPLOY_LOG"
+}
+
+log "========== 开始自动部署 =========="
+
+# 切换到项目目录
+cd "$PROJECT_DIR"
+
+# Git pull
+log "执行 git pull..."
+git pull origin master 2>&1 | tee -a "$DEPLOY_LOG"
+
+# ========== 启动/重启前端 ==========
+log "启动前端 dev server..."
+cd "$PROJECT_DIR/my-uniapp-vue3"
+
+# 停止旧的前端进程
+pkill -f "vite" 2>/dev/null || true
+pm2 delete frontend 2>/dev/null || true
+
+# 安装依赖
+npm install 2>&1 | tee -a "$DEPLOY_LOG"
+
+# 后台启动前端 dev server (监听所有网卡)
+nohup npx vite --host 0.0.0.0 --port $FRONTEND_PORT > "$DEPLOY_LOG.frontend.log" 2>&1 &
+FRONTEND_PID=$!
+echo "Frontend PID: $FRONTEND_PID"
+sleep 8  # 等待启动
+
+log "前端启动完成 (PID: $FRONTEND_PID)"
+
+# ========== 启动/重启后端 ==========
+log "启动后端服务..."
+cd "$PROJECT_DIR/server"
+
+# 安装依赖
+npm install 2>&1 | tee -a "$DEPLOY_LOG"
+
+# 停止旧的后端进程
+pm2 delete server 2>/dev/null || true
+
+# 编译 TypeScript
+npm run build 2>&1 | tee -a "$DEPLOY_LOG"
+
+# 使用编译后的 JS 运行
+SERVER_PORT=$BACKEND_PORT pm2 start dist/app.js --name server 2>&1 | tee -a "$DEPLOY_LOG"
+
+pm2 save 2>&1 | tee -a "$DEPLOY_LOG"
+
+log "========== 部署完成 =========="
+log "前端: http://localhost:$FRONTEND_PORT"
+log "后端: http://localhost:$BACKEND_PORT"