📝 笔记 ✅ 已整理 · infra decision 产物管线从对象存储迁到 Git 仓库的决策记录 为什么放弃 R2 bucket 作为报告发布层:content-type 不可控、无 UI、链接丑,Git+Pages 全部解决。 2026年8月28日 结论:报告类产物直接以 HTML 提交进 Git 仓库(joye-dev),由 Cloudflare Pages 自动部署,不再经过对象存储。 动机: 对象存储对 content-type 的判断不可控(无扩展名 key 变 application/octet-stream,浏览器点击变下载) 孤立文件没有站点 UI——无导航、无索引、无模板,审美不可接受 权限控制被迫放在存储层,多一层复杂度;放在站点层(路径规则 + 访问门)更简单 代价:旧链接散落在历史消息里,保留旧桶只读过渡。
结论:报告类产物直接以 HTML 提交进 Git 仓库(joye-dev),由 Cloudflare Pages 自动部署,不再经过对象存储。 动机: 对象存储对 content-type 的判断不可控(无扩展名 key 变 application/octet-stream,浏览器点击变下载) 孤立文件没有站点 UI——无导航、无索引、无模板,审美不可接受 权限控制被迫放在存储层,多一层复杂度;放在站点层(路径规则 + 访问门)更简单 代价:旧链接散落在历史消息里,保留旧桶只读过渡。