Cloudflare Pages 每次构建后我都会运行的 3 项部署后检查

我花了两个星期来调试生产环境中的问题。

一个站点地图 (sitemap) 规则拦截了我的索引文件。一个竞态条件 (race condition) 导致了图片上传失败。这些问题只有在部署后才会出现。

现在,我在每次构建后都会运行三项特定的检查。我并不使用完整的测试套件,而是使用针对实际故障点的快速检查。

我在三个使用 Astro 5 SSG 构建的网站上运行这些检查:aiappdex.com、findindiegame.com 和 ossfind.com。

𝟭. 站点地图的可用性与完整性

我会验证所有域名下的 sitemap-index.xml 是否都返回 200 状态码。

我还会检查 sitemap-0.xml。我会确保 URL 数量达到最低阈值。对于 aiappdex.com,该阈值为 1,000。如果低于这个数值,说明我的数据流水线 (data pipeline) 出故障了。

这是我吃过亏才学到的教训。一个错误的重定向规则在我的浏览器中运行正常,但却拦截了爬虫。通过使用 curl 检查状态码,我可以立即发现错误。

𝟮. IndexNow 提交

在站点地图检查通过后,我会运行一个脚本将 URL 提交给 IndexNow。这会通知 Bing、Yandex、Naver 和 Seznam 有新内容发布。

如果 IndexNow 返回 403 错误,说明我的密钥验证文件缺失,或者重定向规则破坏了路径。及早发现这一点可以防止索引延迟。

我在部署后手动运行此操作。这可以确保我提交的是已上线且稳定的 URL。

𝟯. Lighthouse 趋势监控

我会在每周一定期运行 Lighthouse 检查。这项检查会查看性能、布局偏移 (layout shifts) 和无障碍性 (accessibility)。

我关注的是趋势而非硬性故障。如果分数轻微下降,我不会阻止部署。我会利用这些结果来发现 Tailwind 配置或布局组件中的回归 (regressions) 问题。

为什么是这三项?

我不使用运行时间监控 (uptime monitoring),因为我信任 Cloudflare。我也不使用端到端 (end-to-end) 测试,因为我的网站是静态的。对于静态 CDN 部署,这三项检查涵盖了我主要的风险。

来源:https://dev.to/morinaga/three-post-deploy-checks-i-run-after-every-cloudflare-pages-build-3a61