|
|
@@ -0,0 +1,87 @@
|
|
|
+@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
|