宿主与 AI 业务部署
大约 2 分钟部署运维开发指南
同源联邦部署
生产站点使用一个 Nginx 提供宿主、注册表与 AI 版本资源。宿主根据菜单授权和注册表装载 AI 模块,管理后台统一由宿主提供。
一、产物与目录
站点根目录/
├── index.html
├── remotes.json
├── compatibility-matrix.json
└── assets/
微前端资源根目录/
└── ai/releases/2.0.0/
├── mf-manifest.json
├── remoteEntry.js
├── assets/
└── share/Saber-AI 的 build 同时构建联邦与分享产物。联邦产物不含开发外壳 index.html,唯一业务出口为 ./remote。
二、部署配置
Saber 提供 deploy/saber.sh 与 deploy/.env.example。在发布环境准备 .env,填写 SITE_URL、SABER_ROOT、MICRO_ROOT、GATEWAY_URL、TARGET_ENV 和 Nginx 配置位置。
| 路径 | 对应内容 |
|---|---|
/ | Saber 宿主与 SPA 路由 |
/remotes.json | 运行期注册表 |
/micro/ai/releases/{version}/ | AI 联邦版本资源 |
/share/ai/ | 独立分享入口 |
/api/ | 去除该前缀后转发至后端或网关 |
三、发布顺序
在 Saber 仓库根目录执行目标环境命令:
deploy/saber.sh host
deploy/saber.sh remote ai ../Saber-AI
deploy/saber.sh check ai 2.0.0
deploy/saber.sh registry首次接入先在对应环境注册表登记 AI 条目。remote 会注入 GIT_COMMIT 与该版本的 VITE_APP_BASE,并执行影子工程 verify;check 核对 manifest、版本及出口。
版本目录
AI 产物写入新的版本目录,已有同名目录会拒绝覆盖。版本、manifest 元数据与注册表 entry 必须一致。
四、缓存与路由
index.html、注册表、manifest 与远端入口使用入口缓存策略;带内容哈希的资源可长期缓存。AI 资源不存在时返回 404,不回落到宿主 HTML;回落后浏览器会把 HTML 当作脚本加载。
五、上线核验
登录宿主后,从菜单打开 AI 列表和详情,刷新深链接,再检查标签页、主题、语言、流式回答和资源地址。AI 模块的装载同时取决于注册表开关与角色授权:注册表启用 AI 条目后,账号还需被授权相应菜单才会装载该业务。
发布切换见 版本发布与回滚。
