deploy.bat 1.8 KB

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