预发布环境与回滚
有两个习惯,把一次能优雅恢复的上线,和一次变成午夜恐慌的上线区分开来:在变更触达真实用户之前先在安全的地方测试它,以及能够即刻撤销一次糟糕的部署。
一个预发布(staging)环境只不过是你应用的第二份副本——同样的代码、独立的 URL、独立的(或一次性的)数据库——一个让你在生产之前先试一试的地方。大多数托管平台让这几乎免费:每一个 pull request 都自动获得它专属的预览 URL,于是你可以在合并之前点过一遍一个变更,并把它分享给某个人。对那些你没法轻易逆转的东西——比如一次数据库迁移——尤其要用它。
一次回滚是你对整个应用的撤销按钮。因为这些平台保留着此前的每一次部署,回到上一个好版本通常就是一条命令或一次面板点击:
# Cloudflare Pages: 重新部署一个已知良好的构建
wrangler pages deployment list
wrangler pages deployment rollback <DEPLOYMENT_ID>
# Vercel: 把一次之前的部署重新提升为生产环境
vercel rollback <DEPLOYMENT_URL>
在你需要它之前就知道这条命令,而不是在故障当中才去找。vibe coding 速度的全部意义在于发布很便宜——但只有当撤销发布同样便宜时,便宜的发布才让人感觉安全。