12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- @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
|