Parcourir la source

bugfix:补全index

XieXing il y a 4 mois
Parent
commit
d5053d2f01
2 fichiers modifiés avec 89 ajouts et 87 suppressions
  1. 0 87
      build_release.bat
  2. 89 0
      build_release.sh

+ 0 - 87
build_release.bat

@@ -1,87 +0,0 @@
-@echo off
-setlocal enabledelayedexpansion
-
-echo ========================================================
-echo       ShuDao SafeAI 生产环境一键打包脚本
-echo ========================================================
-echo.
-
-:: 设置路径变量
-set "ROOT_DIR=%CD%"
-set "FRONTEND_DIR=%ROOT_DIR%\shudao-vue-frontend"
-set "BACKEND_DIR=%ROOT_DIR%\shudao-go-backend"
-set "OUTPUT_DIR=%ROOT_DIR%\deploy_output"
-
-:: 1. 前端构建
-echo [1/5] 正在构建前端项目 (Vue)...
-cd "%FRONTEND_DIR%"
-call npm run build
-if %errorlevel% neq 0 (
-    echo [ERROR] 前端构建失败!请检查错误信息。
-    pause
-    exit /b %errorlevel%
-)
-echo [SUCCESS] 前端构建完成。
-echo.
-
-:: 2. 清理后端旧资源
-echo [2/5] 清理后端旧资源...
-cd "%ROOT_DIR%"
-if exist "%BACKEND_DIR%\assets" (
-    rmdir /s /q "%BACKEND_DIR%\assets"
-)
-if exist "%BACKEND_DIR%\views\index.html" (
-    del /q "%BACKEND_DIR%\views\index.html"
-)
-echo [SUCCESS] 清理完成。
-echo.
-
-:: 3. 复制新资源
-echo [3/5] 整合前端资源到后端...
-:: 复制 assets 目录
-if not exist "%BACKEND_DIR%\assets" mkdir "%BACKEND_DIR%\assets"
-xcopy /E /Y /I /Q "%FRONTEND_DIR%\dist\assets" "%BACKEND_DIR%\assets"
-:: 复制 index.html
-copy /Y "%FRONTEND_DIR%\dist\index.html" "%BACKEND_DIR%\views\index.html" >nul
-echo [SUCCESS] 资源整合完成。
-echo.
-
-:: 4. 后端打包 (Linux amd64)
-echo [4/5] 正在打包后端 (Target: Linux/amd64)...
-cd "%BACKEND_DIR%"
-:: 使用 bee pack 打包,指定目标系统为 Linux
-call bee pack -be GOOS=linux -be GOARCH=amd64
-if %errorlevel% neq 0 (
-    echo [ERROR] 后端打包失败!请确保已安装 bee 工具 (go install github.com/beego/bee/v2@latest)。
-    pause
-    exit /b %errorlevel%
-)
-echo [SUCCESS] 后端打包完成。
-echo.
-
-:: 5. 解压验证
-echo [5/5] 解压验证 (Output: deploy_output)...
-cd "%ROOT_DIR%"
-if exist "%OUTPUT_DIR%" (
-    rmdir /s /q "%OUTPUT_DIR%"
-)
-mkdir "%OUTPUT_DIR%"
-
-:: 检查压缩包是否存在
-if exist "%BACKEND_DIR%\shudao-go-backend.tar.gz" (
-    :: 使用 tar 命令解压 (Win10+ 自带)
-    tar -xzf "%BACKEND_DIR%\shudao-go-backend.tar.gz" -C "%OUTPUT_DIR%"
-    echo [SUCCESS] 已解压到: %OUTPUT_DIR%
-) else (
-    echo [WARNING] 未找到压缩包,可能打包名称不匹配,请手动检查 shudao-go-backend 目录。
-)
-echo.
-
-echo ========================================================
-echo                   打包流程全部完成!
-echo ========================================================
-echo.
-echo 部署包位置: %BACKEND_DIR%\shudao-go-backend.tar.gz
-echo 解压预览:   %OUTPUT_DIR%
-echo.
-pause

+ 89 - 0
build_release.sh

@@ -0,0 +1,89 @@
+#!/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"
+
+# 1. 前端构建
+echo "[1/5] 正在构建前端项目 (Vue)..."
+cd "$FRONTEND_DIR"
+npm run build
+if [ $? -ne 0 ]; then
+    echo "[ERROR] 前端构建失败!请检查错误信息。"
+    exit 1
+fi
+echo "[SUCCESS] 前端构建完成。"
+echo ""
+
+# 2. 清理后端旧资源
+echo "[2/5] 清理后端旧资源..."
+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/5] 整合前端资源到后端..."
+# 确保目标目录存在
+mkdir -p "$BACKEND_DIR/assets"
+mkdir -p "$BACKEND_DIR/views"
+
+# 复制 assets 目录内容
+# 注意:cp -r source/* dest/ 会将内容复制进去
+cp -r "$FRONTEND_DIR/dist/assets/"* "$BACKEND_DIR/assets/"
+# 复制 index.html
+cp "$FRONTEND_DIR/dist/index.html" "$BACKEND_DIR/views/index.html"
+echo "[SUCCESS] 资源整合完成。"
+echo ""
+
+# 4. 后端打包 (Linux amd64)
+echo "[4/5] 正在打包后端 (Target: Linux/amd64)..."
+cd "$BACKEND_DIR"
+# 显式指定 GOOS=linux 以确保生成 Linux 二进制文件
+bee pack -be GOOS=linux -be GOARCH=amd64
+if [ $? -ne 0 ]; then
+    echo "[ERROR] 后端打包失败!请确保已安装 bee 工具 (go install github.com/beego/bee/v2@latest)。"
+    exit 1
+fi
+echo "[SUCCESS] 后端打包完成。"
+echo ""
+
+# 5. 解压验证
+echo "[5/5] 解压验证 (Output: deploy_output)..."
+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"
+    echo "[SUCCESS] 已解压到: $OUTPUT_DIR"
+else
+    echo "[WARNING] 未找到压缩包,可能打包名称不匹配,请手动检查 shudao-go-backend 目录。"
+fi
+echo ""
+
+echo "========================================================"
+echo "                  打包流程全部完成!"
+echo "========================================================"
+echo ""
+echo "部署包位置: $BACKEND_DIR/shudao-go-backend.tar.gz"
+echo "解压预览:   $OUTPUT_DIR"
+echo ""