deploy.bat 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. @echo off
  2. echo ========================================
  3. echo MQTT项目部署到服务器 192.168.1.17
  4. echo ========================================
  5. echo.
  6. echo 步骤1: 检查服务器连接...
  7. ping 192.168.1.17 -n 2 > nul
  8. if %errorlevel% equ 0 (
  9. echo 服务器连接正常
  10. ) else (
  11. echo 服务器连接失败
  12. exit /b 1
  13. )
  14. echo.
  15. echo 步骤2: 在服务器上创建目录结构...
  16. ssh yangfei@192.168.1.17 "mkdir -p /home/yangfei/mqtt-vue-dashboard/backend"
  17. ssh yangfei@192.168.1.17 "mkdir -p /home/yangfei/mqtt-vue-dashboard/frontend"
  18. ssh yangfei@192.168.1.17 "mkdir -p /home/yangfei/mqtt-vue-dashboard/logs"
  19. echo 目录创建完成
  20. echo.
  21. echo 步骤3: 构建前端项目...
  22. cd mqtt-vue-dashboard
  23. if exist node_modules (
  24. echo 前端依赖已存在,跳过安装
  25. ) else (
  26. echo 安装前端依赖...
  27. npm install
  28. if %errorlevel% neq 0 (
  29. echo 前端依赖安装失败
  30. exit /b 1
  31. )
  32. )
  33. echo 构建前端...
  34. npm run build
  35. if %errorlevel% neq 0 (
  36. echo 前端构建失败
  37. exit /b 1
  38. )
  39. echo.
  40. echo 步骤4: 上传前端文件到服务器...
  41. if exist dist (
  42. scp -r dist yangfei@192.168.1.17:/home/yangfei/mqtt-vue-dashboard/frontend/
  43. if %errorlevel% equ 0 (
  44. echo 前端文件上传成功
  45. ) else (
  46. echo 前端文件上传失败
  47. exit /b 1
  48. )
  49. ) else (
  50. echo 前端构建目录不存在
  51. exit /b 1
  52. )
  53. echo.
  54. echo 步骤5: 构建后端项目...
  55. cd server
  56. if exist node_modules (
  57. echo 后端依赖已存在,跳过安装
  58. ) else (
  59. echo 安装后端依赖...
  60. npm install
  61. if %errorlevel% neq 0 (
  62. echo 后端依赖安装失败
  63. exit /b 1
  64. )
  65. )
  66. echo 构建后端...
  67. npm run build
  68. if %errorlevel% neq 0 (
  69. echo 后端构建失败
  70. exit /b 1
  71. )
  72. echo.
  73. echo 步骤6: 上传后端文件到服务器...
  74. if exist dist (
  75. scp -r dist yangfei@192.168.1.17:/home/yangfei/mqtt-vue-dashboard/backend/
  76. echo 后端代码上传成功
  77. )
  78. if exist package.json (
  79. scp package.json yangfei@192.168.1.17:/home/yangfei/mqtt-vue-dashboard/backend/
  80. echo 配置文件上传成功
  81. )
  82. if exist package-lock.json (
  83. scp package-lock.json yangfei@192.168.1.17:/home/yangfei/mqtt-vue-dashboard/backend/
  84. echo 依赖文件上传成功
  85. )
  86. echo.
  87. echo 步骤7: 在服务器上安装依赖...
  88. ssh yangfei@192.168.1.17 "cd /home/yangfei/mqtt-vue-dashboard/backend && npm install --production"
  89. echo 服务器依赖安装完成
  90. echo.
  91. echo 步骤8: 启动后端服务...
  92. ssh yangfei@192.168.1.17 "cd /home/yangfei/mqtt-vue-dashboard/backend && nohup npm start > ../logs/backend.log 2>&1 &"
  93. echo 后端服务启动完成
  94. echo.
  95. echo 步骤9: 验证部署结果...
  96. ssh yangfei@192.168.1.17 "ls -la /home/yangfei/mqtt-vue-dashboard/frontend/dist/" > nul 2>&1
  97. if %errorlevel% equ 0 (
  98. echo 前端文件验证成功
  99. ) else (
  100. echo 前端文件验证失败
  101. )
  102. ssh yangfei@192.168.1.17 "ps aux | grep 'node.*backend' | grep -v grep" > nul 2>&1
  103. if %errorlevel% equ 0 (
  104. echo 后端服务运行正常
  105. ) else (
  106. echo 后端服务未运行
  107. )
  108. echo.
  109. echo ========================================
  110. echo 部署完成!
  111. echo ========================================
  112. echo.
  113. echo 访问信息:
  114. echo 后端API: http://192.168.1.17:3002
  115. echo 前端应用: http://192.168.1.17
  116. echo.
  117. echo 查看日志:
  118. echo ssh yangfei@192.168.1.17 'tail -f /home/yangfei/mqtt-vue-dashboard/logs/backend.log'
  119. echo.
  120. pause