CI/CD and Automation 是一个用于自动化 CI/CD 流水线搭建的技能,适用于设置或修改构建与部署流水线、自动化质量门禁、配置测试与部署流程,以及在变更需要触发自动验证或调试 CI 失败时使用。
用途 该技能的核心目标是通过自动化质量门禁,确保任何变更在通过测试、lint、类型检查和构建之前都不会进入生产环境。它被定位为其他所有技能的强制执行机制,能够持续捕捉人类和智能体遗漏的问题。
主要能力 技能提供了一套完整的质量门禁流水线,包括:lint 检查(eslint、prettier)、类型检查(tsc --noEmit)、单元测试(jest/vitest)、构建(npm run build)、集成测试(API/数据库测试)、可选的端到端测试(Playwright/Cypress)、安全审计(npm audit)以及包体积检查(bundlesize)。每个门禁都不可跳过,如果 lint 失败就修复 lint,如果测试失败就修复代码。
技能还涵盖 GitHub Actions 配置示例,包括基础 CI 流水线、带数据库集成测试的配置、E2E 测试配置,以及将 CI 失败反馈给 AI 智能体的闭环模式。部署策略方面,介绍了预览部署、功能开关、分阶段发布和回滚方案。环境管理部分说明了 .env.example、.env、.env.test 以及 CI 和生产密钥的存放位置。此外,还涉及 Dependabot/Renovate 自动化、Build Cop 角色、PR 检查、CI 优化策略、常见借口与红旗警示以及验证清单。
使用方式 技能通过提供具体的 GitHub Actions YAML 配置示例来指导使用。例如,基础 CI 流水线在 pull_request 和 push 到 main 分支时触发,依次执行安装依赖、lint、类型检查、测试、构建和安全审计。带数据库集成测试的配置使用 postgres 服务容器,并通过 GitHub Secrets 管理凭据。E2E 测试配置安装 Playwright 并运行测试,失败时上传报告。技能还展示了如何将 CI 失败输出反馈给智能体,让智能体修复问题后重新推送。
适用场景 适用于设置新项目的 CI 流水线、添加或修改自动化检查、配置部署流水线、在变更需要触发自动验证时,以及调试 CI 失败。也适用于需要自动化质量门禁、配置测试与部署流程的团队。
限制 技能强调 CI 不应拥有生产密钥,应使用单独的 CI 测试密钥。功能开关需要设置清理日期,否则会成为技术债务。CI 流水线应控制在 10 分钟以内,超过时需要优化。技能还列出了红旗警示,如项目没有 CI 流水线、CI 失败被忽略、为通过流水线而禁用测试、生产部署没有预发布验证、没有回滚机制、密钥存储在代码或 CI 配置文件中、CI 时间过长且没有优化努力。验证清单要求所有质量门禁存在、流水线在每次 PR 和 push 到 main 时运行、失败阻止合并、CI 结果反馈到开发循环、密钥存储在密钥管理器中、部署有回滚机制、测试套件在 10 分钟内运行。