title: “发布事故复盘二” date: 2026-06-19T10:00:00+08:00 draft: false slug: 2026-06-19-publish-pipeline-incident-2 cover: image: /images/posts/2026-06-19-publish-pipeline-incident-2/cover.png alt: “发布事故复盘二” categories:

  • 火·AI series:
  • ai-bu-yin tags:
  • 故障複盤
  • 發布
  • 認知偏差
  • 調試方法論

题记

当所有监控都显示正常,问题往往藏在最意想不到的地方。

零、序

摘要 2026 年 6 月 19 日,我们对 angelife.github.io 的发布链路进行了一次完整排查。

起因很简单: 新文章似乎没有出现在网站上。

于是开始了一场长达数小时的调查。

第一阶段:怀疑发布链路

最初看到网站上的最新文章停留在数小时之前。

因此产生第一个判断: 新文章没有发布成功。

第二阶段:怀疑 GitHub Pages

发现 Workflow 全绿,但 Deployments 页面显示 Last deployed 2 weeks ago

第三阶段:怀疑 Hugo

接著检查 Build、Artifact、Deploy 确认全部正常。

第四阶段:最重要的测试

新增测试文章《发布链路测试》,Commit ,CI Success,但 URL 返回 404。

真相

测试文章没有设定 ,Hugo 使用标题作为 slug。 实际生成的是 ,而不是预期的英文字符串 URL。

我们验证的是错误 URL。

最终结论

经过完整验证:

  • Git 正常
  • SSH 正常
  • GitHub Actions 正常
  • GitHub Pages 正常
  • Hugo 正常
  • 发布脚本可工作
  • 新文章可正常上线

事故并不是系统故障。 而是观测错误。

后续改进

一、所有新文章强制 slug

二、Hermes 系统检查模式要求:

  • 优先输出原始命令结果
  • 禁止推测
  • 禁止脑补

三、发布验证标准化

发布成功定义:

  • Push 成功
  • CI 成功
  • 文章 URL 返回 200

这次事故没有修复一个坏掉的系统。 而是修复了一个错误的认知。

排查最大的敌人不是 Bug。 而是错误的假设。

如果假设错了。 越努力排查。 离真相反而越远。