Files
Web_BLS_Heartbeat_Server/scripts/deploy.bat

133 lines
3.2 KiB
Batchfile
Raw Normal View History

@echo off
chcp 65001 >nul
echo ========================================
echo BLS心跳接收端部署脚本
echo ========================================
setlocal enabledelayedexpansion
:: 检查Node.js是否安装
echo [1/7] 检查Node.js环境...
node --version >nul 2>&1
if errorlevel 1 (
echo [错误] 未检测到Node.js请先安装Node.js
pause
exit /b 1
)
echo [成功] Node.js版本:
node --version
:: 检查PM2是否安装
echo [2/7] 检查PM2环境...
pm2 --version >nul 2>&1
if errorlevel 1 (
echo [警告] 未检测到PM2正在安装PM2...
call npm install -g pm2
if errorlevel 1 (
echo [错误] PM2安装失败
pause
exit /b 1
)
)
echo [成功] PM2版本:
pm2 --version
:: 检查.env文件
echo [3/7] 检查环境配置文件...
if not exist ".env" (
if exist ".env.example" (
echo [信息] 创建.env文件...
copy .env.example .env >nul
echo [警告] 请编辑.env文件设置正确的配置参数
echo [提示] 使用记事本打开: notepad .env
pause
) else (
echo [错误] 未找到.env.example文件
pause
exit /b 1
)
) else (
echo [成功] 环境配置文件已存在
)
:: 安装依赖
echo [4/7] 安装项目依赖...
if not exist "node_modules" (
call npm install --production
if errorlevel 1 (
echo [错误] 依赖安装失败
pause
exit /b 1
)
) else (
echo [信息] 依赖已存在,跳过安装
)
:: 创建日志目录
echo [5/7] 创建日志目录...
if not exist "logs" (
mkdir logs
echo [成功] 日志目录创建成功
) else (
echo [信息] 日志目录已存在
)
:: 检查构建文件
echo [6/7] 检查构建文件...
if not exist "dist\index.es.js" (
echo [警告] 未找到构建文件,请先运行 npm run build
echo [提示] 如果这是首次部署请确保已上传dist目录
pause
exit /b 1
)
echo [成功] 构建文件检查通过
:: 初始化数据库
echo [7/7] 初始化数据库...
echo [信息] 运行数据库初始化脚本...
call npm run db:apply
if errorlevel 1 (
echo [警告] 数据库初始化失败,请检查数据库连接配置
echo [提示] 可以稍后手动运行: npm run db:apply
) else (
echo [成功] 数据库初始化完成
)
:: 使用PM2启动服务
echo ========================================
echo 启动服务
echo ========================================
pm2 start ecosystem.config.cjs
if errorlevel 1 (
echo [错误] 服务启动失败
pause
exit /b 1
)
:: 设置开机自启
echo ========================================
echo 设置开机自启
echo ========================================
pm2 save
pm2 startup
echo [提示] 请按照提示完成开机自启设置
:: 显示服务状态
echo ========================================
echo 服务状态
echo ========================================
pm2 status
echo ========================================
echo 部署完成!
echo ========================================
echo.
echo 常用命令:
echo 查看状态: pm2 status
echo 查看日志: pm2 logs bls-heartbeat
echo 重启服务: pm2 restart bls-heartbeat
echo 停止服务: pm2 stop bls-heartbeat
echo 实时监控: pm2 monit
echo.
pause