第一次上线与回滚演练
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 Feeditems、sitemap 和 Pagefind 索引里; - 回滚到上一份部署后,它应当全部消失(回到发布前的产物);
- 再发布后,它应当全部回来。
每一步都用同一条 deploy:smoke:remote 加一次「这条日志在不在」的定点检查做裁判。
如果回滚后它还在,说明回滚没生效,演练不算通过。
演练里让我踏实的一点
回滚之所以可以是「指一下上一份静态产物」这么轻,是因为整个 R1 的读路径是全静态的:
没有数据库、没有会话、没有服务端渲染。表单、预约、分析这些动态层就算短暂抖动,
首页、作品、日志、能力页仍然完整可读——M5 的 test:nodynamic 早就把第三方域名
全指向不可达地址验证过一次了。架构上少一个耦合,运维上就少一个要一起回滚的东西。
还没闭环的
回滚按钮在 Cloudflare 后台,只能由账号本人在 Deployments → All deployments → 目标部署的三点菜单 → Rollback to this deployment 里点:本项目走 Git 集成、 刻意不放 API Token 给自动化。演练完成后,这条日志会留在站上,算 M8 首批真实内容的 第一条。邮件送达(需要真实表单端点)、5 人 3 秒测试都还等真人来做。
相关记录
- 绿灯不等于上线 · 2026/11/13