deploy.bat 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. @echo off
  2. @chcp 65001 >nul
  3. setlocal enabledelayedexpansion
  4. echo ================================
  5. echo HFLN portal Service Deployment Script
  6. echo ================================
  7. :: Configuration section - Please modify the following configurations according to actual situation
  8. set REMOTE_HOST=43.137.10.199
  9. set REMOTE_USER=chejianzheng
  10. set REMOTE_PASSWORD=Hfln666888
  11. set REMOTE_PATH=/work/portal
  12. set JAR_NAME=portal-service-boot.jar
  13. set START_SCRIPT=hfln-portal-service.sh
  14. where mvn >nul 2>nul
  15. if %errorlevel% neq 0 (
  16. echo Error: Maven not found, please install Maven and configure environment variables
  17. pause
  18. exit /b 1
  19. )
  20. echo.
  21. echo [1/4] Executing mvn clean package...
  22. call mvn clean package -Dmaven.test.skip=true
  23. if %errorlevel% neq 0 (
  24. echo Error: Maven build failed
  25. pause
  26. exit /b 1
  27. )
  28. echo.
  29. echo [2/4] Searching for built jar package...
  30. set JAR_PATH=
  31. for /f "delims=" %%i in ('dir "portal-service-server\target\portal-service-boot.jar" /b /s 2^>nul') do (
  32. set JAR_PATH=%%i
  33. )
  34. if "!JAR_PATH!"=="" (
  35. echo Error: Built jar package not found
  36. pause
  37. exit /b 1
  38. )
  39. echo Found jar package: !JAR_PATH!
  40. echo.
  41. echo [3/4] Cleaning up old jar packages on remote server...
  42. for /f "tokens=* USEBACKQ" %%a in (`powershell "Get-Date -Format yyyyMMddHHmmss"`) do (
  43. set "datestamp=%%a"
  44. )
  45. echo. | plink -ssh -pw %REMOTE_PASSWORD% %REMOTE_USER%@%REMOTE_HOST% "cd %REMOTE_PATH% && if [ -f %JAR_NAME% ]; then mv %JAR_NAME% portal-service-boot-%datestamp%.jar; echo 'Renamed old jar package'; else echo 'Old jar package not found'; fi"
  46. echo. | plink -ssh -pw %REMOTE_PASSWORD% %REMOTE_USER%@%REMOTE_HOST% "cd %REMOTE_PATH% && ls -t *.jar | tail -n +4 | xargs -r rm && echo 'Cleaned up old backups, kept latest 3 jar packages'"
  47. echo Cleanup completed, kept the latest 3 jar package backups
  48. echo.
  49. echo [4/4] Pushing jar package to server...
  50. if not exist "pscp.exe" (
  51. echo Warning: pscp.exe not found, trying to use system installed version...
  52. )
  53. pscp -pw %REMOTE_PASSWORD% "!JAR_PATH!" %REMOTE_USER%@%REMOTE_HOST%:%REMOTE_PATH%/%JAR_NAME%
  54. if %errorlevel% neq 0 (
  55. echo Error: Failed to push jar package to server
  56. pause
  57. exit /b 1
  58. )
  59. echo.
  60. echo [5/5] Executing remote startup script...
  61. echo. | plink -ssh -pw %REMOTE_PASSWORD% %REMOTE_USER%@%REMOTE_HOST% "cd %REMOTE_PATH% && sudo ./%START_SCRIPT% restart"
  62. if %errorlevel% neq 0 (
  63. echo Warning: Remote startup script execution may have problems
  64. )
  65. echo.
  66. echo Deployment completed!
  67. pause