build_test.sh 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/bin/bash
  2. # 遇到错误立即退出
  3. set -e
  4. echo "========================================================"
  5. echo " ShuDao SafeAI 测试环境一键打包脚本 (Linux)"
  6. echo "========================================================"
  7. echo ""
  8. # 设置路径变量
  9. ROOT_DIR=$(pwd)
  10. FRONTEND_DIR="$ROOT_DIR/shudao-vue-frontend"
  11. BACKEND_DIR="$ROOT_DIR/shudao-go-backend"
  12. OUTPUT_DIR="$ROOT_DIR/deploy_output_test"
  13. # 1. 前端构建
  14. echo "[1/6] 正在构建前端项目 (Vue)..."
  15. cd "$FRONTEND_DIR"
  16. npm run build
  17. if [ $? -ne 0 ]; then
  18. echo "[ERROR] 前端构建失败!请检查错误信息。"
  19. exit 1
  20. fi
  21. echo "[SUCCESS] 前端构建完成。"
  22. echo ""
  23. # 2. 清理后端旧资源
  24. echo "[2/6] 清理后端旧资源..."
  25. cd "$ROOT_DIR"
  26. if [ -d "$BACKEND_DIR/assets" ]; then
  27. rm -rf "$BACKEND_DIR/assets"
  28. fi
  29. if [ -f "$BACKEND_DIR/views/index.html" ]; then
  30. rm -f "$BACKEND_DIR/views/index.html"
  31. fi
  32. echo "[SUCCESS] 清理完成。"
  33. echo ""
  34. # 3. 复制新资源
  35. echo "[3/6] 整合前端资源到后端..."
  36. mkdir -p "$BACKEND_DIR/assets"
  37. mkdir -p "$BACKEND_DIR/views"
  38. cp -r "$FRONTEND_DIR/dist/assets/"* "$BACKEND_DIR/assets/"
  39. cp "$FRONTEND_DIR/dist/index.html" "$BACKEND_DIR/views/index.html"
  40. echo "[SUCCESS] 资源整合完成。"
  41. echo ""
  42. # 4. 复制测试环境配置
  43. echo "[4/6] 复制测试环境配置..."
  44. mkdir -p "$BACKEND_DIR/conf"
  45. cp "$BACKEND_DIR/conf/app.conf.test" "$BACKEND_DIR/conf/app.conf"
  46. echo "[SUCCESS] 配置文件已更新为测试环境。"
  47. echo ""
  48. # 5. 后端打包 (Linux amd64)
  49. echo "[5/6] 正在打包后端 (Target: Linux/amd64)..."
  50. cd "$BACKEND_DIR"
  51. bee pack -be GOOS=linux -be GOARCH=amd64
  52. if [ $? -ne 0 ]; then
  53. echo "[ERROR] 后端打包失败!请确保已安装 bee 工具。"
  54. exit 1
  55. fi
  56. echo "[SUCCESS] 后端打包完成。"
  57. echo ""
  58. # 6. 解压验证
  59. echo "[6/6] 解压验证 (Output: deploy_output_test)..."
  60. cd "$ROOT_DIR"
  61. if [ -d "$OUTPUT_DIR" ]; then
  62. rm -rf "$OUTPUT_DIR"
  63. fi
  64. mkdir -p "$OUTPUT_DIR"
  65. if [ -f "$BACKEND_DIR/shudao-go-backend.tar.gz" ]; then
  66. tar -xzf "$BACKEND_DIR/shudao-go-backend.tar.gz" -C "$OUTPUT_DIR"
  67. # 重命名为测试环境包
  68. mv "$BACKEND_DIR/shudao-go-backend.tar.gz" "$BACKEND_DIR/shudao-go-backend-test.tar.gz"
  69. echo "[SUCCESS] 已解压到: $OUTPUT_DIR"
  70. else
  71. echo "[WARNING] 未找到压缩包,请手动检查。"
  72. fi
  73. echo ""
  74. echo "========================================================"
  75. echo " 打包流程全部完成!"
  76. echo "========================================================"
  77. echo ""
  78. echo "部署包位置: $BACKEND_DIR/shudao-go-backend-test.tar.gz"
  79. echo "解压预览: $OUTPUT_DIR"
  80. echo "环境: 测试环境 (172.16.29.101)"
  81. echo ""