background
一直显示?点击任意区域即可关闭
个性化配置

迁移执行清单

这份清单用于配合 MIGRATION_PLAN.md 执行实际迁移。

如果你准备开始动手,建议按本文顺序逐步完成,不要跳步。

使用方式

每完成一项,就手动勾选一项。

如果某一步失败,不要继续后面的步骤,先处理当前问题。

阶段 1:基线备份与准备

1.1 记录当前线上信息

  • [ ] 记录当前正式域名:www.bbgs.xyz
  • [ ] 记录当前正式域名:bbgs.xyz
  • [ ] 记录当前 Vercel 统计 API 地址
  • [ ] 记录当前 GitHub Pages 地址
  • [ ] 记录当前 GitHub 仓库地址

1.2 记录当前统计数据

  • [ ] 打开 GitHub PV 对应的 Issue
  • [ ] 记录当前 Issue 标题中的 PV 数值
  • [ ] 记录当前 Upstash UV 总数 key
  • [ ] 记录当前 Upstash 已访问访客集合 key
  • [ ] 记录当前 Redis key 前缀

1.3 备份平台配置

  • [ ] 备份 Vercel 环境变量
  • [ ] 备份 Cloudflare DNS 记录
  • [ ] 备份 Upstash 凭据
  • [ ] 备份 GitHub Actions 工作流配置
  • [ ] 备份当前 themeConfig.mjs

1.4 本地构建验证

  • [ ] 执行依赖安装
  • [ ] 执行站点构建
  • [ ] 确认 .vitepress/dist 正常生成

阶段 2:Vercel 接管前端部署

2.1 导入项目

  • [ ] 在 Vercel 中导入当前 GitHub 仓库
  • [ ] Production Branch 设置为 main
  • [ ] Root Directory 保持仓库根目录

2.2 设置构建参数

  • [ ] Framework Preset 选择 VitePress 或 Other
  • [ ] Install Command 设置为 pnpm install --frozen-lockfile
  • [ ] Build Command 设置为 pnpm run build
  • [ ] Output Directory 设置为 .vitepress/dist
  • [ ] Node.js 版本确认不低于 20

2.3 配置环境变量

  • [ ] 配置 UPSTASH_REDIS_REST_URL
  • [ ] 配置 UPSTASH_REDIS_REST_TOKEN
  • [ ] 配置 UV_KEY_PREFIX
  • [ ] 配置 ALLOWED_ORIGIN
  • [ ] 暂时保留 GITHUB_PAT
  • [ ] 暂时保留 PV_OWNER
  • [ ] 暂时保留 PV_REPO
  • [ ] 暂时保留 PV_ISSUE_NUMBER

2.4 首次部署验证

  • [ ] Vercel 首次构建成功
  • [ ] 预览域名首页可访问
  • [ ] 文章页可访问
  • [ ] portal 页面可访问
  • [ ] 静态资源正常加载

阶段 3:Cloudflare 绑定 Vercel

3.1 在 Vercel 中添加自定义域名

  • [ ] 添加 www.bbgs.xyz
  • [ ] 添加 bbgs.xyz

3.2 在 Cloudflare 中调整 DNS

  • [ ] 为 www 配置指向 Vercel 的 CNAME 记录
  • [ ] 为根域名按 Vercel 提示配置记录
  • [ ] TTL 使用自动或较低值
  • [ ] 保留现有记录截图或导出备份

3.3 域名验证

  • [ ] Vercel 域名验证通过
  • [ ] HTTPS 证书签发成功
  • [ ] 正式域名首页可访问
  • [ ] 正式域名文章页可访问

阶段 4:统计链路改造

4.1 确定新存储方案

  • [ ] 确认 PV 继续迁入 Upstash Redis
  • [ ] 约定 PV key,例如 bbgs:stats:pv:total
  • [ ] 保留 UV key 不变或记录新 key
  • [ ] 将旧 PV 数值作为新 PV 初始值写入 Redis

4.2 修改服务端统计逻辑

  • [ ] api/pv-dispatch.js 改为直接维护 PV 和 UV
  • [ ] 移除 GitHub repository_dispatch 依赖
  • [ ] API 响应中统一返回最新 PV 和 UV

4.3 修改前端读取逻辑

  • [ ] SiteData.vue 不再读取 GitHub Issue
  • [ ] 页面加载后只请求统计 API
  • [ ] 前端从 API 响应读取 PV 和 UV

4.4 预览验证

  • [ ] 预览环境中 PV 正常增长
  • [ ] 同浏览器重复访问时 UV 不重复增长
  • [ ] 页面 Network 中不再访问 GitHub Issue API
  • [ ] 页面 Network 中不再访问 GitHub dispatch API

阶段 5:前端配置切换

5.1 调整主题配置

  • [ ] 将 themeConfig.mjs 中的 dispatchProxy 改为 /api/pv-dispatch
  • [ ] 停止使用 pageViewsIssueId
  • [ ] 停止使用 clientToken
  • [ ] 评估是否保留 ownerrepo

5.2 生产验证

  • [ ] 生产环境统计正常
  • [ ] 页面刷新后 PV 正常变化
  • [ ] 新访客访问后 UV 正常变化
  • [ ] 搜索功能仍正常

阶段 6:下线旧 GitHub 方案

6.1 停用旧工作流

  • [ ] 停用或删除 .github/workflows/update-pv.yml
  • [ ] 停用或删除 .github/workflows/deploy-pages.yml

6.2 清理旧环境变量

  • [ ] 停用 GITHUB_PAT
  • [ ] 停用 PV_OWNER
  • [ ] 停用 PV_REPO
  • [ ] 停用 PV_ISSUE_NUMBER

6.3 仓库私有化

  • [ ] 将 GitHub 仓库切为私有
  • [ ] 私有后再次验证 Vercel 自动部署
  • [ ] 私有后再次验证站点访问
  • [ ] 私有后再次验证统计
  • [ ] 私有后再次验证搜索

阶段 7:文档同步

最终完成标准

全部完成后,应满足以下条件:

  • [ ] 源码仓库已是私有
  • [ ] 正式域名由 Vercel 提供站点
  • [ ] Cloudflare 继续管理域名和 DNS
  • [ ] PV 和 UV 都已脱离 GitHub Issue / GitHub Actions
  • [ ] 搜索正常
  • [ ] 旧 GitHub Pages 部署已不再承载生产流量