Skip to content
返回部署

CircleCI CI/CD

云 CI/CD,.circleci/config.yml、orb 和并行。

CI/CD进阶

为什么

CircleCI 提供快速构建,Docker 支持、orb(可复用包)和并行。适合想要托管 CI 无基础设施的团队。

DORA 2024 DevOps 状态报告显示精英团队部署频率比低绩效团队高 973 倍。带自动化测试的 CI/CD 管道将变更失败率降至 5-15%,而手动部署为 40-60%。

何时使用

想要托管 CI 良好 Docker 支持用 CircleCI。成本敏感避免(免费层有限)。

如何做

1. 配置 — .circleci/config.yml 2. Orb — 可复用包(node、aws、gcp) 3. 执行器 — docker、machine 或 macos 4. 工作流 — 作业配 requires 5. 缓存 — restore_cache/save_cache 6. 并行 — parallelism 测试拆分 7. 上下文 — 共享密钥

示例

# .circleci/config.yml version: 2.1 orbs: { node: circleci/[email protected] } jobs: test: docker: [{ image: cimg/node:20.0 }] steps: - checkout - node/install-packages - run: npm test deploy: docker: [{ image: cimg/node:20.0 }] steps: - checkout - run: npx vercel --prod --token $VERCEL_TOKEN workflows: version: 2 build-test-deploy: jobs: - test - deploy: requires: [test] filters: { branches: { only: [main] } }

常见问题

  • ⚠构建慢 — 无缓存,依赖用 restore_cache/save_cache
  • ⚠信用用尽 — 免费层有限,并行快速用信用
  • ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致

最佳实践

  • ✓常见任务用 orb — node、aws、gcp orb 省配置
  • ✓测试拆分用 parallelism — 跨执行器拆测试加速
  • ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求

常见问题解答