| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- @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
|