Files
aiotagro-new/script/deploy-to-remote.bat
mapleaf 80bc86d703
Some checks failed
aagro-ui-admin CI / build (14.x) (push) Has been cancelled
aagro-ui-admin CI / build (16.x) (push) Has been cancelled
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
Initial commit with remote deployment configuration
2025-10-04 18:08:05 +08:00

67 lines
1.8 KiB
Batchfile

@echo off
setlocal
REM 远程服务器配置
set REMOTE_HOST=192.168.0.95
set REMOTE_USER=root
set REMOTE_PASSWORD=aiotagro
set REMOTE_DIR=/data/java/aiotmini
REM 本地项目配置
set SERVER_MODULE=aagro-server
set TARGET_JAR=%SERVER_MODULE%\target\%SERVER_MODULE%.jar
echo 开始部署项目到远程服务器...
REM 1. 清理并构建项目
echo 正在清理并构建项目...
call mvn clean package -Dmaven.test.skip=true
if %errorlevel% neq 0 (
echo 项目构建失败,退出部署
exit /b 1
)
echo 项目构建成功
REM 2. 检查目标jar文件是否存在
if not exist "%TARGET_JAR%" (
echo 目标jar文件不存在: %TARGET_JAR%
exit /b 1
)
REM 3. 上传到远程服务器 (需要安装pscp工具)
echo 正在上传文件到远程服务器...
pscp -pw %REMOTE_PASSWORD% %TARGET_JAR% %REMOTE_USER%@%REMOTE_HOST%:%REMOTE_DIR%/
if %errorlevel% neq 0 (
echo 文件上传失败
exit /b 1
)
echo 文件上传成功
REM 4. 上传Dockerfile到远程服务器
echo 正在上传Dockerfile到远程服务器...
pscp -pw %REMOTE_PASSWORD% %SERVER_MODULE%\Dockerfile %REMOTE_USER%@%REMOTE_HOST%:%REMOTE_DIR%/
if %errorlevel% neq 0 (
echo Dockerfile上传失败
exit /b 1
)
echo Dockerfile上传成功
REM 5. 在远程服务器上构建Docker镜像并运行容器
echo 正在远程服务器上构建Docker镜像并运行容器...
plink -ssh -pw %REMOTE_PASSWORD% %REMOTE_USER%@%REMOTE_HOST% "cd %REMOTE_DIR% && docker build -t aagro-server . && docker stop aagro-server-container 2>/dev/null && docker rm aagro-server-container 2>/dev/null && docker run -d --name aagro-server-container --restart always -p 48080:48080 -e SPRING_PROFILES_ACTIVE=custom aagro-server"
if %errorlevel% neq 0 (
echo 远程Docker操作失败
exit /b 1
)
echo 项目部署成功!
echo 访问地址: http://%REMOTE_HOST%:48080
pause