2.2 KiB
2.2 KiB
迁移至 XControl CMS 的实施指南
本文梳理了从旧版静态页面体系迁移到全新 CMS 架构的步骤,并提供回滚方案以保障发布安全。
迁移准备
- 梳理现有页面:整理旧系统的路由、模板和数据源,并标注关键依赖(例如第三方 API、Webhook)。
- 建立对照表:在项目 wiki 中维护“旧页面 → 新模板”的映射,明确所需内容源与扩展。
- 同步配置:将上述映射写入
config/cms.json,并针对每个模板准备默认内容样例。
实施步骤
- 搭建预览环境:
- 创建
feature/cms-migration分支; - 部署独立的 CMS 预览环境,指向
cms.json中定义的内容源; - 确保团队成员可登录并在预览中校对页面。
- 创建
- 内容迁移:
- 使用
scripts/content-migrator(TODO)或手动脚本,将旧 Markdown/HTML 转换为 CMS 支持的内容块; - 对照对照表验证每个页面的链接、组件与扩展生效情况;
- 在预览环境执行冒烟测试,覆盖核心业务流(注册、下单、反馈表单等)。
- 使用
- 灰度发布:
- 在 CDN/网关上新增
cms-beta域名,对应新的渲染服务; - 内部用户和部分真实流量切换到新域,收集性能及错误日志;
- 若未出现阻塞问题,逐步放大流量并更新主域名解析。
- 在 CDN/网关上新增
回滚方案
- 保留旧环境:迁移期间保留旧渲染服务与静态资源,避免同名覆盖;
- 可控切换:所有流量切换通过网关开关或流量调度平台完成,开关命名为
enable_new_cms; - 回滚流程:
- 若监控中断或错误率超出阈值,立即关闭
enable_new_cms将流量打回旧系统; - 执行
make revert-cms-release(脚本需在部署仓库中实现)撤销最新配置发布; - 将问题归档在 incident 工单,收集
cms.json与扩展日志,确认修复后重新灰度。
- 若监控中断或错误率超出阈值,立即关闭
里程碑检查
- ✅ 完成
cms.json配置与 Schema 校验; - ✅ 预览环境可完整渲染所有页面;
- ✅ 灰度发布通过性能、监控、无障碍检查;
- ✅ 回滚演练至少一次,确保运维手册可执行。