跳转到内容

部署与运维

生产部署使用稳定 Release、Node.js 22+ 和 MySQL。安装时固定目标版本,并保留该版本的配置与升级记录,便于后续维护。

终端窗口
cp .env.example .env
# 设置 BAILING_ENV=production、随机 BAILING_TOKEN、MySQL 与模型配置
npm ci
npm run db:init
npm run admin:create -- admin
npm start

也可以使用官网安装脚本部署当前稳定发行物:

终端窗口
curl -fsSL https://www.bailinghub.com/install.sh | sh
项目 要求
环境变量 密钥来自环境变量或密钥管理器,不写入仓库
数据库 通过正式迁移器执行全部未应用 migration,不修改已应用文件
管理员 bootstrap 只在管理员表为空时创建首个账号;上线后轮换初始密码
健康检查 /health 检查服务状态,/version 核对应用与契约版本
审计保留 BAILING_AUDIT_RETENTION_DAYS=0 表示不自动删除;按组织要求显式设置
限速 MySQL 后端让接入方、聊天入口、登录和工具调用限速在多实例下保持一致
回调 失败会进入 trace/delivery 账本;业务侧保留按 job_id 查询兜底
排障 以单个 job_id 导出脱敏 trace,不复制整库或真实密钥
  1. 阅读目标版本 Release Notes 与兼容性说明;
  2. 备份数据库和当前部署配置;
  3. 运行未应用迁移并核对 migration 账本;
  4. 启动后验证 /health、/version、后台登录和一条无副作用任务;
  5. 再恢复真实流量,观察队列、错误和工具调用。

从 v0.8.0 升级到 v0.9.0 时,通过 npm run db:init 应用尚未执行的迁移 063、064。更早版本还需补齐前序迁移;迁移器依据账本执行未应用文件,服务启动不会自动迁移。

完整配置与故障恢复见 v0.9.0 Operations 和兼容性与升级。