前后端分离项目自动化一键部署

1.安装putty

地址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

2.编辑 一键部署.bat文件

@echo off
setlocal

:: 设置服务器信息
set SERVER_IP=192.168.0.xx
set SSH_USER=root
set SSH_PASSWORD=xxxxxx

:: 设置项目路径
set BACKEND_PROJECT_PATH=D:\projects\rsfz\api
set FRONTEND_PROJECT_PATH=D:\projects\rsfz\ui

:: 设置服务器上的项目路径
set SERVER_BACKEND_PATH=/home/java/rsfz/api
set SERVER_FRONTEND_PATH=/home/java/rsfz
set SH_PATH=/home/java/rebuild
set SH_NAME=rsfz.sh

:: 设置构建输出路径
set BACKEND_BUILD_PATH=%BACKEND_PROJECT_PATH%\ruoyi-admin\target\api.jar
set FRONTEND_BUILD_PATH=%FRONTEND_PROJECT_PATH%\dist

:: 显示欢迎信息
echo Starting deployment of the project...

:: Maven 打包后端
echo Building backend project with Maven...
cd /d %BACKEND_PROJECT_PATH%
call mvn clean package -DskipTests -o
if errorlevel 1 (
    echo Maven build failed.
    pause 
    exit /b %errorlevel%
)

:: Npm 打包前端
echo Building frontend project with Npm...
cd /d %FRONTEND_PROJECT_PATH%
call npm run build:prod
if errorlevel 1 (
    echo Npm build failed.
    pause 
    exit /b %errorlevel%
)

:: 使用SCP上传后端Jar包到服务器
echo Uploading backend JAR to server...
pscp -q -i %SSH_USER% -pw %SSH_PASSWORD% %BACKEND_BUILD_PATH% %SSH_USER%@%SERVER_IP%:%SERVER_BACKEND_PATH%
if errorlevel 1 (
    echo Failed to upload backend JAR.
    pause 
    exit /b %errorlevel%
)

:: 执行服务器上的Shell脚本重启项目
echo Restarting the project on the server...
plink -ssh -pw %SSH_PASSWORD% %SSH_USER%@%SERVER_IP% "cd %SH_PATH% && sh %SH_NAME%"
if errorlevel 1 (
    echo Failed to restart the project on the server.
    pause 
    exit /b %errorlevel%
)

:: 删除服务器上的原先dist目录
echo Deleting the old dist directory on the server...
plink -ssh -pw %SSH_PASSWORD% %SSH_USER%@%SERVER_IP% "rm -rf '%SERVER_FRONTEND_PATH%/dist'"
if errorlevel 1 (
    echo Failed to delete old dist directory on server.
    pause 
    exit /b %errorlevel%
)

:: 使用SCP上传前端Dist文件到服务器
echo Uploading frontend dist to server...
pscp -q -r -i %SSH_USER% -pw %SSH_PASSWORD% %FRONTEND_BUILD_PATH% %SSH_USER%@%SERVER_IP%:%SERVER_FRONTEND_PATH%
if errorlevel 1 (
    echo Failed to upload frontend dist.
    pause 
    exit /b %errorlevel%
)


echo Deployment completed successfully.
pause

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值