配置 CI/CD 与预览环境
配置 CI/CD 与预览环境
这篇笔记还在编辑中,内容可能会继续补充、调整或重写。
本阶段目标
让每个 Pull Request 自动完成冻结安装、质量检查、测试和构建,并获得可访问的临时预览地址。合并后推广已经验证过的制品,而不是在生产环境重新构建。
流水线顺序
检出代码
→ 固定 Node.js 与 pnpm
→ pnpm install --frozen-lockfile
→ format / lint / typecheck
→ unit / component test
→ production build
→ browser test
→ upload immutable artifact
→ deploy preview
快速、确定性的检查放在前面,昂贵的浏览器测试可以在基础检查通过后执行。并行任务必须显式声明依赖,不能碰巧依赖另一个 Job 留在机器上的文件。
制品身份
每个制品至少关联:
- Git 提交 SHA
- 构建时间与流水线编号
- Node.js、pnpm 和关键构建工具版本
- Source Map 对应的发布版本
- 制品摘要或完整性信息
运行时配置应通过受控方式注入。需要环境差异时,优先让同一制品读取不同运行时配置,而不是为测试、预发布和生产分别构建代码。
预览环境
预览环境需要明确访问权限、后端依赖、测试数据、有效期和自动回收机制。外部贡献分支默认不应获得生产密钥。
故障演练
- 修改
package.json但不更新 lockfile,确认冻结安装失败。 - 让构建成功但浏览器测试失败,确认部署不会继续。
- 部署一个已知错误版本,再通过制品记录恢复上一稳定版本。
验收标准
- Pull Request 状态清楚展示各质量门禁
- 安装阶段不会改写 lockfile
- 失败测试会保留报告、截图或 Trace
- 预览环境自动创建并在关闭后回收
- 生产部署能追溯到已验证制品,并有可演练的回滚入口
下一篇:分析并优化构建产物。