SuperAPI AI 工具集

ci-cd-and-automation

部署与运维

查看项目

更新于 10-16 08:52

技能介绍

用途

该技能用于自动化 CI/CD pipeline 的设置与修改,适用于设置新项目的 CI pipeline、添加或修改自动化检查、配置部署 pipelines、在某个变更应触发自动化验证时,以及调试 CI failures。其核心目标是自动化质量门禁,确保任何变更在进入生产环境前都通过测试、lint、类型检查和 build。

主要能力

技能围绕质量门禁 pipeline 展开,每个变更在合并前依次经过:Lint 检查(eslint、prettier)、类型检查(tsc --noEmit)、单元测试(jest/vitest)、构建(npm run build)、集成测试(API/DB tests)、可选的端到端测试(Playwright/Cypress)、安全审计(npm audit)和包体积检查(bundlesize check)。技能强调任何门禁都不能跳过:如果 lint 失败就修 lint,不要禁用规则;如果测试失败就修代码,不要跳过测试。

技能提供 GitHub Actions 配置示例,包括基础 CI Pipeline、包含数据库集成测试的配置(使用 postgres:16 服务与健康检查)、E2E Tests 配置(安装 Playwright、构建、运行测试并在失败时上传报告)。同时介绍将 CI Failures 反馈给 Agents 的闭环模式:复制失败输出并交给 agent,由 agent 修复后推送,CI 再次运行。

在部署策略方面,技能涵盖 Preview Deployments(每个 PR 获得预览部署)、Feature Flags(将部署和发布解耦,支持发布代码但不启用、无需重新部署即可回滚、Canary 新功能、运行 A/B tests)、分阶段发布(staging 自动部署、手动验证后生产部署、监控 15 分钟窗口)以及回滚计划(手动回滚 workflow)。

环境管理部分说明 .env.example、.env、.env.test、CI secrets 与 Production secrets 的存放原则,并强调 CI 永远不应拥有 production secrets。CI 之外的自动化包括 Dependabot/Renovate 依赖更新配置、Build Cop 角色、PR Checks(Required reviews、Required status checks、Branch protection、Auto-merge)。

CI 优化部分针对 pipeline 超过 10 分钟的情况,按影响从大到小给出策略:缓存依赖、并行运行 jobs、只运行变更内容、使用 matrix builds、优化测试套件、使用更大的 runners,并给出缓存和并行的示例配置。

使用方式

技能以文档和配置示例形式提供,用户可参照其中的 GitHub Actions YAML 配置在项目中设置或修改 CI/CD pipeline。配置涉及 .github/workflows/ci.yml、.github/dependabot.yml 等文件,以及 npm、npx、actions/checkout、actions/setup-node、actions/upload-artifact 等命令与 action。设置或修改 CI 后,技能给出验证清单:所有质量门禁存在、pipeline 在每个 PR 和 push to main 时运行、failures 会阻塞合并、CI results 反馈到开发循环、secrets 存放在 secrets manager 中、部署有 rollback mechanism、测试套件的 pipeline 在 10 分钟内运行完成。

适用场景

适用于需要建立或改进自动化质量门禁与部署流程的软件项目,尤其是使用 GitHub Actions、npm 生态、需要集成测试与 E2E 测试、需要预览部署与回滚机制、以及希望将 CI 失败反馈给 AI agent 进行修复的团队。

限制

技能中未提供具体收费、价格、平台支持范围或效果保证等信息。部分配置示例依赖 Vercel、Netlify、Playwright、Prisma 等外部工具,实际可用性取决于项目环境。技能未说明对非 GitHub Actions 的 CI 平台的支持情况。