Files
aiotagro-mini/deploy.bat
ylweng faad389e82
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
修改bug
2025-10-06 15:21:03 +08:00

149 lines
3.9 KiB
Batchfile
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@echo off
REM ==========================================================================
REM 项目部署脚本
REM 用于将Java后端项目部署到远程服务器(192.168.0.95)
REM ==========================================================================
echo ==========================================================================
echo AIOTAGRO后台管理系统部署脚本
echo ==========================================================================
REM 配置信息
set REMOTE_HOST=192.168.0.95
set REMOTE_USER=root
set REMOTE_PASSWORD=aiotagro
set REMOTE_DIR=/data/java/aiotagro
echo 服务器地址: %REMOTE_HOST%
echo 用户名: %REMOTE_USER%
echo 目标目录: %REMOTE_DIR%
echo.
REM 本地项目路径
set LOCAL_PROJECT_DIR=E:\vue\aiotagro-mini
echo 切换到项目目录: %LOCAL_PROJECT_DIR%
cd /d %LOCAL_PROJECT_DIR%
REM 检查是否安装了Maven
echo 检查Maven环境...
mvn -v >nul 2>&1
if %errorlevel% neq 0 (
echo.
echo [错误] 未找到Maven命令
echo 请先安装Maven并配置环境变量PATH
echo 下载地址: https://maven.apache.org/download.cgi
echo.
pause
exit /b 1
)
echo.
echo Maven版本信息:
mvn -v
echo.
REM 打包项目
echo ==================== 开始打包项目 ====================
mvn clean package -Dmaven.test.skip=true
if %errorlevel% neq 0 (
echo.
echo [错误] 项目打包失败,请检查代码是否有错误
pause
exit /b 1
)
echo.
echo ==================== 打包完成 ====================
REM 查找打包后的jar文件
echo 查找打包生成的jar文件...
for /f "delims=" %%i in ('dir aagro-server\target\*.jar /b /s') do set JAR_FILE=%%i
if "%JAR_FILE%"=="" (
echo.
echo [错误] 未找到打包后的jar文件
echo 请确认项目结构是否正确
pause
exit /b 1
)
echo 找到jar文件: %JAR_FILE%
REM 检查是否安装了Putty工具(pscp和plink)
echo.
echo 检查Putty工具...
pscp -V >nul 2>&1
if %errorlevel% neq 0 (
echo.
echo [警告] 未找到pscp命令请先安装Putty工具
echo 下载地址: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
echo.
echo 安装完成后请将Putty安装目录添加到环境变量PATH中
pause
exit /b 1
)
REM 使用pscp上传文件
echo.
echo ==================== 开始上传文件 ====================
pscp -pw %REMOTE_PASSWORD% "%JAR_FILE%" %REMOTE_USER%@%REMOTE_HOST%:%REMOTE_DIR%/
if %errorlevel% neq 0 (
echo.
echo [错误] 文件上传失败,请检查网络连接和服务器配置
pause
exit /b 1
)
echo 上传配置文件...
pscp -pw %REMOTE_PASSWORD% "aagro-server\src\main\resources\application-prod.yaml" %REMOTE_USER%@%REMOTE_HOST%:%REMOTE_DIR%/
if %errorlevel% neq 0 (
echo.
echo [错误] 配置文件上传失败
pause
exit /b 1
)
echo.
echo ==================== 上传启动脚本 ====================
echo cd /data/java/aiotagro > start.sh
echo nohup java -jar *.jar --spring.profiles.active=prod ^> app.log 2^>^&1 ^& >> start.sh
echo echo "应用已启动" >> start.sh
echo 上传启动脚本...
pscp -pw %REMOTE_PASSWORD% start.sh %REMOTE_USER%@%REMOTE_HOST%:%REMOTE_DIR%/
if %errorlevel% neq 0 (
echo.
echo [错误] 启动脚本上传失败
pause
exit /b 1
)
REM 在远程服务器上设置权限并启动应用
echo.
echo ==================== 远程部署 ====================
echo 设置启动脚本权限...
plink -ssh -P 22 -pw %REMOTE_PASSWORD% %REMOTE_USER%@%REMOTE_HOST% "chmod +x %REMOTE_DIR%/start.sh"
if %errorlevel% neq 0 (
echo.
echo [错误] 设置远程脚本权限失败
pause
exit /b 1
)
echo 启动应用...
plink -ssh -P 22 -pw %REMOTE_PASSWORD% %REMOTE_USER%@%REMOTE_HOST% "cd %REMOTE_DIR%; ./start.sh"
if %errorlevel% neq 0 (
echo.
echo [错误] 远程启动应用失败
pause
exit /b 1
)
echo.
echo ==================== 部署完成 ====================
echo 部署成功完成!
echo 服务器: %REMOTE_HOST%
echo 目录: %REMOTE_DIR%
echo.
pause