关于 circleci-config
circleci-config 是用于优化 CircleCI 性能与稳定性的技能,通过测量瓶颈并进行渐进式配置调整,帮助开发者分析问题、谨慎优化并验证效果。
主要功能
- 01建立任务耗时与失败基线
- 02移除重复任务和工作流
- 03优化缓存与制品流转
- 04针对瓶颈实施并行化
- 05制定验证与回滚标准
适用场景
- 01排查缓慢或不稳定的 CircleCI 任务
- 02改善依赖缓存命中率
- 03减少重复的构建与测试工作
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ circleci-public/ skills --skill circleci-config安装后在 Claude Code 中输入/circleci-config确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/cache-optimization.mdpatterns.mdpersisting-data.mdtest-results.md详细介绍
CircleCI 配置
概述
使用此技能优化 CircleCI 的性能和稳定性,同时不改变产品行为。先聚焦于经过测量的瓶颈,再实施最小且安全的配置变更,并明确验证标准。
如果请求涉及 save_cache、restore_cache、persist_to_workspace、attach_workspace、缓存键设计、依赖项缓存、锁文件,或缓存命中率低、缓存过大、持久化步骤浪费等问题,请阅读 references/cache-optimization.md。
如果请求涉及在缓存、工作区和制品之间进行选择,或数据在不同作业间传输效率低下,请阅读 references/persisting-data.md。
如果请求涉及测试作业耗时过长、并行度、测试耗时数据或缺少 JUnit XML,请阅读 references/test-results.md。
如果请求涉及审批、分支/标签筛选、定时任务、部署流程结构或环境晋级模式,请阅读 references/patterns.md。
需要收集的输入
.circleci/中的.yaml和.yml文件,以及任何可复用的配置片段- 当前痛点:耗时、易出错性、成本或可维护性
- 基线指标:耗时最长的作业、重试/失败最频繁的作业、排队时间和运行时间
- 对结构性变更的风险承受度
工作流
- 建立基线。
- 找出耗时最长的 1~3 个作业和最容易出错的作业。
- 记录变更前的指标(耗时、通过率、重试次数)。
- 消除流水线中的浪费。
- 删除重复的作业/工作流。
- 收紧分支/标签筛选条件和工作流触发条件。
- 改进依赖项和制品的流转。
- 修正缓存键,使其包含确定性的锁文件校验。
- 使用工作区/制品,避免重复构建相同的输出。
- 优先采用范围较窄、可复现且恢复成本低的缓存作用域。
- 安全地提高并行度。
- 只并行处理已确认的瓶颈。
- 保持扇出/扇入结构清晰且具有确定性。
- 验证影响。
- 在完成配置前,定义预期的指标变化和验收标准。
防护原则
- 优先修复配置,再考虑修改应用代码。
- 不要添加无差别重试来掩盖确定性故障。
- 优化构建/测试阶段时,保留部署安全关卡。
- 保持变更渐进且易于回滚。
- 优先使用特定语言的缓存目录,避免缓存宽泛的项目快照。
- 避免使用每次运行都会轮换的缓存键,除非用户明确希望缓存实际上只能写入、无法读取。
输出要求
提供:
- 基线瓶颈概述。
- 拟议或已实施的配置变更及其理由。
- 对运行时间/可靠性的预期影响。
- 验证计划和回滚说明。
评论
支持 Markdown