75 lines
2.5 KiB
Batchfile
75 lines
2.5 KiB
Batchfile
|
|
@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
|