auto-deploy-demo/deploy/deploy.bat

75 lines
2.5 KiB
Batchfile
Raw Permalink Normal View History

2026-02-23 06:31:59 +00:00
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
set SERVER_IP=49.232.209.156
set SERVER_USER=ai-auto
set SERVER_PASS=ashai@X1an
set DEPLOY_DIR=/home/ai-auto/auto-deploy-demo
set DOMAIN=ashai.com.cn
echo ==========================================
echo 自动部署脚本 - 快速Demo演示系统
echo ==========================================
echo.
echo [提示] 此脚本需要安装以下工具:
echo - OpenSSH (Windows 10/11 已内置)
echo - sshpass 或 plink (用于密码认证)
echo.
echo 如果未安装sshpass请使用手动部署步骤
echo.
pause
echo.
echo [1/6] 检查SSH连接...
echo y| plink -ssh %SERVER_USER%@%SERVER_IP% -pw %SERVER_PASS% "echo 服务器连接成功"
if errorlevel 1 (
echo [错误] 无法连接到服务器,请检查网络和凭据
pause
exit /b 1
)
echo.
echo [2/6] 安装Node.js环境...
echo y| plink -ssh %SERVER_USER%@%SERVER_IP% -pw %SERVER_PASS% "if ! command -v node ^&^> /dev/null; then curl -fsSL https://rpm.nodesource.com/setup_18.x ^| sudo bash - ^&^& sudo yum install -y nodejs; fi; node -v; npm -v"
echo.
echo [3/6] 安装PM2进程管理器...
echo y| plink -ssh %SERVER_USER%@%SERVER_IP% -pw %SERVER_PASS% "sudo npm install -g pm2; pm2 -v"
echo.
echo [4/6] 创建项目目录...
echo y| plink -ssh %SERVER_USER%@%SERVER_IP% -pw %SERVER_PASS% "mkdir -p %DEPLOY_DIR%"
echo.
echo [5/6] 传输项目文件...
echo 正在传输server目录...
pscp -r -pw %SERVER_PASS% ..\server %SERVER_USER%@%SERVER_IP%:%DEPLOY_DIR%/
echo 正在传输projects目录...
pscp -r -pw %SERVER_PASS% ..\projects %SERVER_USER%@%SERVER_IP%:%DEPLOY_DIR%/
echo 正在传输client/dist目录...
pscp -r -pw %SERVER_PASS% ..\client\dist %SERVER_USER%@%SERVER_IP%:%DEPLOY_DIR%/client/
echo 正在传输配置文件...
pscp -pw %SERVER_PASS% ..\package.json %SERVER_USER%@%SERVER_IP%:%DEPLOY_DIR%/
pscp -pw %SERVER_PASS% ..\package-lock.json %SERVER_USER%@%SERVER_IP%:%DEPLOY_DIR%/
pscp -pw %SERVER_PASS% ..\.env %SERVER_USER%@%SERVER_IP%:%DEPLOY_DIR%/
echo.
echo [6/6] 安装依赖并启动服务...
echo y| plink -ssh %SERVER_USER%@%SERVER_IP% -pw %SERVER_PASS% "cd %DEPLOY_DIR% ^&^& npm install --production ^&^& pm2 delete all 2^>/dev/null; pm2 start server/index.js --name auto-deploy-demo ^&^& pm2 save"
echo.
echo ==========================================
echo 部署完成!
echo ==========================================
echo.
echo 访问地址: http://%DOMAIN%:8888
echo 或者: http://%SERVER_IP%:8888
echo.
echo 默认账号: admin
echo 默认密码: admin123
echo.
pause