前端 CI/CD 应有哪些阶段?如何设计可回滚发布?

先理解原理和示例,再练习完整口述与追问。

可重复安装、相关检查、单次构建、制品版本、灰度与观测、回滚兼容;CI 不等于自动上线所有提交。

CI 让修改持续集成并得到及时验证;持续交付意味着产物可安全发布,持续部署是否自动执行则由团队流程决定。流水线应固定环境、从锁文件安装、执行相关静态与测试检查、构建可追踪制品,再按环境配置发布与健康验证。制品最好构建一次、验证后推广,避免不同环境重复构建出不同内容却共用版本名。

提交对应 release → 安装与检查 → 生成 JS/CSS/HTML 与 Source Map → 上传资源 → 灰度切换入口 → 检查错误率与关键流程 → 扩大流量。回滚保留旧入口和资源;服务端 API 与数据库变化还需向后兼容,不能只回退静态文件。

配置与密钥不能直接写进公开 bundle。构建成功不是业务验收,发布后也需要真实请求与监控;新旧资源不能在切换瞬间互相缺失。

我把安装、验证、构建、制品、部署和观测分开,所有产物能对应提交与环境。先验证再灰度,保留兼容资源和回退路径,出现异常按指标停止扩量或回滚,不依赖人工临时改线上文件。