跳到正文

← 返回日志

构建记录

第一次上线与回滚演练

M7 上线后第一次发布→回滚→再发布演练,这条日志就是哨兵——它在线上出现或消失,用来证明平台真的切了产物

今天做到了哪一步

站点终于真的上线了,不是「CI 全绿」意义上的绿,而是自定义域名 https://website.85138175.xyz 打开就是完整的 11 个页面、RSS、JSON Feed、 sitemap 和站内搜索。这一步之前有一道坎:Cloudflare Pages 没配构建命令时, 会把整个仓库源码当静态站发布却照样报 “Deploy successful”,是远端冒烟 deploy:smoke:remote 把它揪出来的。配好 pnpm build + dist + PNPM_VERSION=11.28.5、重新触发构建后,线上冒烟才转成 PASS / failed:0。

为什么专门发一条日志

「发布→回滚→再发布」演练需要一个人眼能分辨的信号来证明平台确实切了产物, 而不是又一轮「按钮变绿」。所以这条日志本身就是那枚哨兵:

  • 它出现在日志页 /log/、RSS <item>、JSON Feed items、sitemap 和 Pagefind 索引里;
  • 回滚到上一份部署后,它应当全部消失(回到发布前的产物);
  • 再发布后,它应当全部回来。

每一步都用同一条 deploy:smoke:remote 加一次「这条日志在不在」的定点检查做裁判。 如果回滚后它还在,说明回滚没生效,演练不算通过。

演练里让我踏实的一点

回滚之所以可以是「指一下上一份静态产物」这么轻,是因为整个 R1 的读路径是全静态的: 没有数据库、没有会话、没有服务端渲染。表单、预约、分析这些动态层就算短暂抖动, 首页、作品、日志、能力页仍然完整可读——M5 的 test:nodynamic 早就把第三方域名 全指向不可达地址验证过一次了。架构上少一个耦合,运维上就少一个要一起回滚的东西。

还没闭环的

回滚按钮在 Cloudflare 后台,只能由账号本人在 Deployments → All deployments → 目标部署的三点菜单 → Rollback to this deployment 里点:本项目走 Git 集成、 刻意不放 API Token 给自动化。演练完成后,这条日志会留在站上,算 M8 首批真实内容的 第一条。邮件送达(需要真实表单端点)、5 人 3 秒测试都还等真人来做。

查看全部创作日志 →