跳转到内容

部署与运维

生产部署使用稳定 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.10.0 → v0.10.1 补丁没有新增 SQL;从公开 v0.9.4 升级到 v0.10.0 的既有升级路径也没有新增 SQL。更早版本仍通过正式迁移器应用全部尚未执行的迁移,包括 068;分别确认实际状态库和配置库,共库只执行一次。npm run db:init 只处理状态 MySQL,独立配置 MySQL 使用官方迁移入口;服务启动不自动迁移。先按 0.10.1 升级指南核对 Core 与业务 SDK 配套,并保留此前版本升级要求。

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