Files
Web_BLS_Heartbeat_Server/scripts/package.bat

96 lines
3.5 KiB
Batchfile
Raw Normal View History

@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