#!/bin/bash # 遇到错误立即退出 set -e echo "========================================================" echo " ShuDao SafeAI 测试环境一键打包脚本 (Linux)" echo "========================================================" echo "" # 设置路径变量 ROOT_DIR=$(pwd) FRONTEND_DIR="$ROOT_DIR/shudao-vue-frontend" BACKEND_DIR="$ROOT_DIR/shudao-go-backend" OUTPUT_DIR="$ROOT_DIR/deploy_output_test" # 1. 前端构建 echo "[1/6] 正在构建前端项目 (Vue)..." cd "$FRONTEND_DIR" npm run build if [ $? -ne 0 ]; then echo "[ERROR] 前端构建失败!请检查错误信息。" exit 1 fi echo "[SUCCESS] 前端构建完成。" echo "" # 2. 清理后端旧资源 echo "[2/6] 清理后端旧资源..." cd "$ROOT_DIR" if [ -d "$BACKEND_DIR/assets" ]; then rm -rf "$BACKEND_DIR/assets" fi if [ -f "$BACKEND_DIR/views/index.html" ]; then rm -f "$BACKEND_DIR/views/index.html" fi echo "[SUCCESS] 清理完成。" echo "" # 3. 复制新资源 echo "[3/6] 整合前端资源到后端..." mkdir -p "$BACKEND_DIR/assets" mkdir -p "$BACKEND_DIR/views" cp -r "$FRONTEND_DIR/dist/assets/"* "$BACKEND_DIR/assets/" cp "$FRONTEND_DIR/dist/index.html" "$BACKEND_DIR/views/index.html" echo "[SUCCESS] 资源整合完成。" echo "" # 4. 复制测试环境配置 echo "[4/6] 复制测试环境配置..." mkdir -p "$BACKEND_DIR/conf" cp "$BACKEND_DIR/conf/app.conf.test" "$BACKEND_DIR/conf/app.conf" echo "[SUCCESS] 配置文件已更新为测试环境。" echo "" # 5. 后端打包 (Linux amd64) echo "[5/6] 正在打包后端 (Target: Linux/amd64)..." cd "$BACKEND_DIR" bee pack -be GOOS=linux -be GOARCH=amd64 if [ $? -ne 0 ]; then echo "[ERROR] 后端打包失败!请确保已安装 bee 工具。" exit 1 fi echo "[SUCCESS] 后端打包完成。" echo "" # 6. 解压验证 echo "[6/6] 解压验证 (Output: deploy_output_test)..." cd "$ROOT_DIR" if [ -d "$OUTPUT_DIR" ]; then rm -rf "$OUTPUT_DIR" fi mkdir -p "$OUTPUT_DIR" if [ -f "$BACKEND_DIR/shudao-go-backend.tar.gz" ]; then tar -xzf "$BACKEND_DIR/shudao-go-backend.tar.gz" -C "$OUTPUT_DIR" # 重命名为测试环境包 mv "$BACKEND_DIR/shudao-go-backend.tar.gz" "$BACKEND_DIR/shudao-go-backend-test.tar.gz" echo "[SUCCESS] 已解压到: $OUTPUT_DIR" else echo "[WARNING] 未找到压缩包,请手动检查。" fi echo "" echo "========================================================" echo " 打包流程全部完成!" echo "========================================================" echo "" echo "部署包位置: $BACKEND_DIR/shudao-go-backend-test.tar.gz" echo "解压预览: $OUTPUT_DIR" echo "环境: 测试环境 (172.16.29.101)" echo ""