前端 CI/CD 流水线设计:从提交到发布的自动化
设计一条前端专属的 CI/CD 流水线:质量门禁、构建产物、多环境部署与回滚,附完整流程拆解。
前端部署看似「打个包传上去」,但要做好工程化,流水线需要像后端一样严谨。本文分享一套经过验证的前端 CI/CD 设计。
流水线的四个阶段
1. 质量门禁(Quality Gate)
提交触发流水线后,首先并行执行:
- 代码风格检查(ESLint、Prettier);
- 类型检查(
tsc --noEmit); - 单元测试(Vitest);
- 依赖安全扫描(
pnpm audit)。
任何一项失败即阻断,不给问题流入下一步的机会。
2. 构建与产物校验
pnpm build
# 校验产物完整性、注入体积预算检查
产物校验是前端特有的关键步骤:检查 bundle 体积、确认关键资源存在、生成哈希清单。
3. 多环境部署
用环境变量区分构建配置,按环境推送:
- preview:每个 PR 自动部署预览环境,便于评审;
- staging:合并主分支后部署,跑端到端测试;
- production:打 tag 或手动审批后发布。
4. 发布与回滚
前端回滚的精髓在于产物不可变 + 目录版本化:
- 每次构建产物带唯一哈希,发布到
releases/<hash>/; - 用软链接或配置指向当前版本;
- 回滚只需把指针切回上一个版本目录,秒级完成。
关键实践
- 构建一次,多处部署:同一份产物在不同环境复用,避免「开发构建的包上线」的隐患;
- PR 预览环境:让评审者在真实环境里看效果,而非只看代码 diff;
- 灰度发布:新版本先切 5% 流量,观察错误率再逐步放量。
结语
一条好的前端流水线,衡量标准不是「跑得有多花哨」,而是出了问题能不能快速定位、快速回滚。把回滚设计进流程,比任何炫技都实在。