Forráskód Böngészése

feat(deploy): 添加Windows部署脚本- 创建了完整的部署批处理脚本 deploy.bat
- 实现了Maven构建自动化流程
- 集成了远程服务器文件传输功能
- 添加了旧版本jar包清理机制
- 实现了远程服务重启功能
- 增加了错误处理和用户提示信息

chejianzheng 4 hete
szülő
commit
55e679ed2e
1 módosított fájl, 76 hozzáadás és 0 törlés
  1. 76 0
      deploy.bat

+ 76 - 0
deploy.bat

@@ -0,0 +1,76 @@
+@echo off
+@chcp 65001 >nul
+setlocal enabledelayedexpansion
+
+echo ================================
+echo  HFLN portal Service Deployment Script
+echo ================================
+
+:: Configuration section - Please modify the following configurations according to actual situation
+set REMOTE_HOST=43.137.10.199
+set REMOTE_USER=chejianzheng
+set REMOTE_PASSWORD=Hfln666888
+set REMOTE_PATH=/work/portal
+set JAR_NAME=portal-service-boot.jar
+set START_SCRIPT=hfln-portal-service.sh
+
+where mvn >nul 2>nul
+if %errorlevel% neq 0 (
+    echo Error: Maven not found, please install Maven and configure environment variables
+    pause
+    exit /b 1
+)
+
+echo.
+echo [1/4] Executing mvn clean package...
+call mvn clean package -Dmaven.test.skip=true
+if %errorlevel% neq 0 (
+    echo Error: Maven build failed
+    pause
+    exit /b 1
+)
+
+echo.
+echo [2/4] Searching for built jar package...
+set JAR_PATH=
+for /f "delims=" %%i in ('dir "portal-service-server\target\portal-service-boot.jar" /b /s 2^>nul') do (
+    set JAR_PATH=%%i
+)
+if "!JAR_PATH!"=="" (
+    echo Error: Built jar package not found
+    pause
+    exit /b 1
+)
+echo Found jar package: !JAR_PATH!
+
+echo.
+echo [3/4] Cleaning up old jar packages on remote server...
+for /f "tokens=* USEBACKQ" %%a in (`powershell "Get-Date -Format yyyyMMddHHmmss"`) do (
+    set "datestamp=%%a"
+)
+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"
+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'"
+echo Cleanup completed, kept the latest 3 jar package backups
+
+echo.
+echo [4/4] Pushing jar package to server...
+if not exist "pscp.exe" (
+    echo Warning: pscp.exe not found, trying to use system installed version...
+)
+pscp -pw %REMOTE_PASSWORD% "!JAR_PATH!" %REMOTE_USER%@%REMOTE_HOST%:%REMOTE_PATH%/%JAR_NAME%
+if %errorlevel% neq 0 (
+    echo Error: Failed to push jar package to server
+    pause
+    exit /b 1
+)
+
+echo.
+echo [5/5] Executing remote startup script...
+echo. | plink -ssh -pw %REMOTE_PASSWORD% %REMOTE_USER%@%REMOTE_HOST% "cd %REMOTE_PATH% && sudo ./%START_SCRIPT% restart"
+if %errorlevel% neq 0 (
+    echo Warning: Remote startup script execution may have problems
+)
+
+echo.
+echo Deployment completed!
+pause