@echo off chcp 65001 >nul echo ======================================== echo BLS心跳接收端打包脚本 echo ======================================== setlocal enabledelayedexpansion :: 设置发布目录 set RELEASE_DIR=release set VERSION=1.0.0 set PACKAGE_NAME=web-bls-heartbeat-server-v%VERSION% echo [1/6] 清理旧的发布目录... if exist "%RELEASE_DIR%" ( rmdir /s /q "%RELEASE_DIR%" ) mkdir "%RELEASE_DIR%" echo [2/6] 复制构建文件... if exist "dist" ( xcopy /E /I /Y dist "%RELEASE_DIR%\dist" >nul echo [成功] 构建文件已复制 ) else ( echo [错误] 未找到dist目录,请先运行 npm run build pause exit /b 1 ) echo [3/6] 复制配置文件... copy package.json "%RELEASE_DIR%\" >nul copy package-lock.json "%RELEASE_DIR%\" >nul copy ecosystem.config.cjs "%RELEASE_DIR%\" >nul copy .env.example "%RELEASE_DIR%\" >nul echo [成功] 配置文件已复制 echo [4/6] 复制脚本文件... if not exist "%RELEASE_DIR%\scripts" ( mkdir "%RELEASE_DIR%\scripts" ) copy scripts\deploy.bat "%RELEASE_DIR%\scripts\" >nul copy scripts\update.bat "%RELEASE_DIR%\scripts\" >nul copy scripts\check-env.js "%RELEASE_DIR%\scripts\" >nul echo [成功] 脚本文件已复制 echo [5/6] 复制配置示例... if not exist "%RELEASE_DIR%\src\config" ( mkdir "%RELEASE_DIR%\src\config" ) copy src\config\config.example.js "%RELEASE_DIR%\src\config\" >nul echo [成功] 配置示例已复制 echo [6/6] 创建说明文件... echo # BLS心跳接收端发布包 > "%RELEASE_DIR%\README.txt" echo. >> "%RELEASE_DIR%\README.txt" echo 版本: %VERSION% >> "%RELEASE_DIR%\README.txt" echo 发布日期: %date% %time% >> "%RELEASE_DIR%\README.txt" echo. >> "%RELEASE_DIR%\README.txt" echo ## 快速部署指南 >> "%RELEASE_DIR%\README.txt" echo. >> "%RELEASE_DIR%\README.txt" echo 1. 将整个release文件夹复制到目标服务器 >> "%RELEASE_DIR%\README.txt" echo 2. 进入项目目录: cd C:\BLS_Heartbeat_Server >> "%RELEASE_DIR%\README.txt" echo 3. 运行部署脚本: scripts\deploy.bat >> "%RELEASE_DIR%\README.txt" echo 4. 配置环境变量: 编辑.env文件 >> "%RELEASE_DIR%\README.txt" echo 5. 服务将自动启动 >> "%RELEASE_DIR%\README.txt" echo. >> "%RELEASE_DIR%\README.txt" echo ## 文件说明 >> "%RELEASE_DIR%\README.txt" echo - dist/: 构建后的应用程序文件 >> "%RELEASE_DIR%\README.txt" echo - package.json: 项目依赖配置 >> "%RELEASE_DIR%\README.txt" echo - ecosystem.config.cjs: PM2进程管理配置 >> "%RELEASE_DIR%\README.txt" echo - .env.example: 环境变量配置示例 >> "%RELEASE_DIR%\README.txt" echo - scripts/: 部署和更新脚本 >> "%RELEASE_DIR%\README.txt" echo - src/config/config.example.js: 配置文件示例 >> "%RELEASE_DIR%\README.txt" echo. >> "%RELEASE_DIR%\README.txt" echo ## 常用命令 >> "%RELEASE_DIR%\README.txt" echo - 首次部署: scripts\deploy.bat >> "%RELEASE_DIR%\README.txt" echo - 更新部署: scripts\update.bat >> "%RELEASE_DIR%\README.txt" echo - 查看状态: pm2 status >> "%RELEASE_DIR%\README.txt" echo - 查看日志: pm2 logs bls-heartbeat >> "%RELEASE_DIR%\README.txt" echo - 重启服务: pm2 restart bls-heartbeat >> "%RELEASE_DIR%\README.txt" echo. >> "%RELEASE_DIR%\README.txt" echo 详细文档请参考 docs/deployment.md >> "%RELEASE_DIR%\README.txt" echo [成功] 说明文件已创建 echo ======================================== echo 打包完成! echo ======================================== echo. echo 发布目录: %RELEASE_DIR% echo 发布包内容: dir /b "%RELEASE_DIR%" echo. echo 复制整个 %RELEASE_DIR% 文件夹到目标服务器即可 echo. pause