deploy.bat 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo ============================================
  4. echo Snapshot 一体化部署脚本 (Windows)
  5. echo ============================================
  6. echo.
  7. REM 获取脚本所在目录
  8. set "ROOT_DIR=%~dp0"
  9. set "FRONTEND_DIR=%ROOT_DIR%frontend"
  10. set "BACKEND_DIR=%ROOT_DIR%backend"
  11. set "STATIC_DIR=%BACKEND_DIR%\src\main\resources\static"
  12. REM 步骤1: 构建前端
  13. echo [1/4] 构建前端...
  14. cd /d "%FRONTEND_DIR%"
  15. call npm install
  16. if %errorlevel% neq 0 (
  17. echo 错误: 前端依赖安装失败
  18. exit /b 1
  19. )
  20. call npm run build
  21. if %errorlevel% neq 0 (
  22. echo 错误: 前端构建失败
  23. exit /b 1
  24. )
  25. echo 前端构建完成
  26. echo.
  27. REM 步骤2: 清理旧的静态资源
  28. echo [2/4] 清理旧的静态资源...
  29. if exist "%STATIC_DIR%" (
  30. rd /s /q "%STATIC_DIR%"
  31. )
  32. mkdir "%STATIC_DIR%"
  33. echo 静态资源目录已清理
  34. echo.
  35. REM 步骤3: 复制前端构建产物到后端
  36. echo [3/4] 复制前端文件到后端静态资源目录...
  37. xcopy "%FRONTEND_DIR%\dist\*" "%STATIC_DIR%\" /e /i /y
  38. if %errorlevel% neq 0 (
  39. echo 错误: 文件复制失败
  40. exit /b 1
  41. )
  42. echo 前端文件已复制到 %STATIC_DIR%
  43. echo.
  44. REM 步骤4: 构建后端
  45. echo [4/4] 构建后端 JAR...
  46. cd /d "%BACKEND_DIR%"
  47. call mvn clean package -DskipTests
  48. if %errorlevel% neq 0 (
  49. echo 错误: 后端构建失败
  50. exit /b 1
  51. )
  52. echo 后端构建完成
  53. echo.
  54. echo ============================================
  55. echo 部署完成!
  56. echo ============================================
  57. echo.
  58. echo JAR 文件: %BACKEND_DIR%\target\snapshot-backend-1.0.0.jar
  59. echo.
  60. echo 启动命令:
  61. echo java -jar "%BACKEND_DIR%\target\snapshot-backend-1.0.0.jar"
  62. echo.
  63. echo 或使用以下命令直接启动:
  64. echo cd /d "%BACKEND_DIR%"
  65. echo mvn spring-boot:run
  66. echo ============================================
  67. endlocal