67 lines
1.8 KiB
Batchfile
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
|