- 添加部署相关脚本(deploy.bat/update.bat/package.bat)和文档(deployment.md/package-guide.md) - 新增PM2配置文件(ecosystem.config.js/ecosystem.config.cjs) - 优化Kafka消费者配置支持动态fromOffset - 添加环境检查脚本(check-env.js) - 更新.gitignore添加release目录 - 补充.env.example配置文件
132 lines
3.2 KiB
Batchfile
132 lines
3.2 KiB
Batchfile
@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 web-bls-heartbeat-server
|
||
echo 重启服务: pm2 restart web-bls-heartbeat-server
|
||
echo 停止服务: pm2 stop web-bls-heartbeat-server
|
||
echo 实时监控: pm2 monit
|
||
echo.
|
||
pause |