deploy-simple.sh 990 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/bin/bash
  2. # 超简部署:直接SSH到服务器执行 git pull → build → reload
  3. # 用法: bash deploy-simple.sh
  4. # 前提: 代码已 push 到 git.rrbrr.com
  5. set -e
  6. HOST="root@8.159.134.106"
  7. PORT="22622"
  8. ssh -p $PORT $HOST << 'ENDSSH'
  9. set -e
  10. cd /data/ai/audio_codebuddy
  11. echo "=== 1. 拉取代码 ==="
  12. git pull origin master
  13. echo "当前提交: $(git log --oneline -1)"
  14. echo ""
  15. echo "=== 2. 构建后端 ==="
  16. cd server
  17. # 先生成 Prisma Client(schema 变更时必须)
  18. npx prisma generate
  19. # 清除旧构建,防止用旧 dist 跑(构建失败不 reload)
  20. rm -rf dist
  21. npm run build
  22. echo ""
  23. echo "=== 3. 复制 models.json ==="
  24. cp src/config/models.json dist/config/models.json 2>/dev/null || true
  25. echo ""
  26. echo "=== 4. 重启服务 ==="
  27. pm2 reload server
  28. echo ""
  29. echo "=== 部署完成 ==="
  30. pm2 status | grep server
  31. ENDSSH
  32. echo ""
  33. echo "验证:"
  34. curl -s -o /dev/null -w "HTTP %{http_code}" http://book.rrbrr.com/api/health 2>/dev/null && echo "" || echo " 连接失败"