auto-deploy-demo/deploy/deploy.bat

75 lines
2.5 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
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