mcpField
D
devops-engineer

devops-engineer

github.com/wyattowalsh云与 DevOps550 次安装8 周前更新
代码仓库

关于 devops-engineer

devops-engineer 是面向 CI/CD 和部署自动化的技能,适用于设计、生成、审查和排查流水线的工程师。它覆盖工作流生成、优化、部署策略、审计及失败日志分析,并将基础设施配置排除在范围之外。

主要功能

  1. 01生成 CI/CD 工作流与 GitHub Action
  2. 02分析并优化流水线耗时
  3. 03设计部署策略及回滚方案
  4. 04审查流水线安全与可靠性
  5. 05解析 CI 失败日志并定位原因

适用场景

  1. 01为项目创建 CI/CD 工作流
  2. 02查找缓存或并行执行优化点
  3. 03规划部署检查与回滚流程
  4. 04根据失败日志排查流水线问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wyattowalsh/agents --skill devops-engineer

安装后在 Claude Code 中输入/devops-engineer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
debug-mode.json
evals.json
explicit-pipeline.json
implicit-trigger.json
negative-control.json
pipeline-create.json
review-mode.json
references/
artifact-management.md
ci-failure-triage.md
deployment-strategies.md
github-actions-patterns.md
gitlab-ci-patterns.md
pipeline-optimization.md
pipeline-review-checklist.md
scripts/
check.py
log-parser.py
pipeline-cost-estimator.py
workflow-analyzer.py
scripts/asset_toolkit/
__init__.py
_shared.py
common.py
package.py
validate_evals.py
validate_hooks.py
validate_skill.py
templates/
dashboard.html

详细介绍

DevOps 工程师

CI/CD 流水线设计、优化和部署策略。6 种模式:生成工作流、缩短构建时间、设计部署策略、审查现有流水线、调试 CI 故障。

**范围:**仅限 CI/CD 流水线和部署自动化。不包括基础设施配置(infrastructure-coder)、应用程序代码、监控设置或数据库迁移(database-architect)。

规范术语

在所有模式中准确使用以下术语:

术语定义
工作流CI/CD 流水线定义文件(.github/workflows/*.yml、.gitlab-ci.yml)
作业工作流中的命名工作单元,包含一个或多个步骤
步骤作业中的单个操作(运行命令、使用操作)
阶段作业的逻辑分组(构建、测试、部署)
构件在作业或阶段之间传递的构建输出
缓存在多次运行间持久保存的依赖项/构建缓存,用于缩短构建时间
矩阵按多个配置扩展参数化作业
并发组防止并行运行的互斥机制
环境带有保护规则的部署目标(预发布、生产)
晋级在各环境间传递构件(开发 -> 预发布 -> 生产)
回滚将部署恢复到先前已知良好的状态
金丝雀发布将流量逐步切换到新版本(1% -> 5% -> 25% -> 100%)
蓝绿部署两个相同的环境,可即时切换流量
滚动部署逐个实例逐步替换
关卡部署继续前的手动或自动审批检查点
运行器执行 CI/CD 作业的环境(GitHub 托管、自托管)
可复用工作流可从其他工作流调用的工作流模板
复合操作打包为单个可复用单元的多步骤操作

分派

$ARGUMENTS模式
pipeline <requirements>生成:根据需求创建新的 CI/CD 工作流
action <description>操作:生成 GitHub Action 步骤/作业
optimize <workflow>优化:优化流水线构建时间
deploy <strategy>部署:设计部署策略
review <workflow>审查:审计现有流水线
debug <logs>调试:分析 CI 故障日志
关于 CI/CD 的自然语言描述自动检测适当模式
空显示带示例的模式菜单

模式 1:生成(pipeline)

根据需求设计并生成 CI/CD 工作流文件。

步骤
  1. 收集需求 -- 语言、框架、测试套件、部署目标、分支策略
  2. 选择平台 -- GitHub Actions(默认)、GitLab CI 或两者
  3. 加载模式 -- 读取 references/github-actions-patterns.md 或 references/gitlab-ci-patterns.md
  4. 设计结构 -- 作业、阶段、依赖项、触发器、缓存策略
  5. 生成工作流 -- 完整的 YAML 文件,并添加行内注释说明不明显的选择
  6. 验证 -- 对生成的输出运行 uv run python scripts/workflow-analyzer.py <file>
输出

写入适当位置的完整工作流 YAML 文件。

模式 2:操作(action)

生成单独的 GitHub Action 步骤或作业。

  1. 解析描述 -- 说明该操作应完成的任务
  2. 加载模式 -- 读取 references/github-actions-patterns.md
  3. 生成 -- 生成步骤或作业 YAML,并正确配置 uses、with、env
  4. 检查上下文 -- 如果引用了现有工作流,则读取该工作流并集成新操作

输出:可插入工作流文件的 YAML 片段。

模式 3:优化(optimize)

分析并优化流水线构建时间。

分析
  1. 分析 —— 运行 uv run python scripts/workflow-analyzer.py <workflow>
  2. 估算成本 —— 运行 uv run python scripts/pipeline-cost-estimator.py <workflow>
  3. 加载技巧 —— 阅读 references/pipeline-optimization.md
优化机会
  1. 识别机会:
    • 缺少缓存(依赖项、构建产物、Docker 层)
    • 可并行运行的串行作业
    • 多版本测试缺少矩阵策略
    • 不必要的完整检出(使用稀疏检出或浅克隆)
    • 各作业之间存在冗余步骤
    • 缺少用于选择性运行的路径过滤器
    • 轻量任务使用了规格过高的运行器
  2. 提出计划 —— 按优先级排列优化建议,并估算节省的时间
  3. 实施 —— 将获批的优化应用到工作流文件

模式 4:部署(deploy)

设计部署策略和回滚计划。

  1. 评估需求 —— 正常运行时间 SLA、回滚速度、流量管理能力
  2. 加载策略 —— 阅读 references/deployment-strategies.md
  3. 推荐策略 —— 根据需求选择蓝绿部署、金丝雀发布或滚动发布
因素蓝绿部署金丝雀发布滚动发布
回滚速度即时快慢
资源成本2x1.1-1.5x1x
风险敞口无(切换前)逐步增加逐步增加
复杂度中高低
适用场景关键服务高流量 API成本敏感型应用
  1. 生成 —— 生成包含健康检查、关卡和回滚触发条件的部署工作流
  2. 编写文档 —— 编写包含回滚流程和升级路径的运行手册

模式 5:审查(review)

审查现有 CI/CD 管道中的问题和改进空间。

审计流程
  1. 读取工作流 —— 解析目标工作流文件
  2. 分析 —— 运行 uv run python scripts/workflow-analyzer.py <workflow>
  3. 加载检查清单 —— 阅读 references/pipeline-review-checklist.md
评估维度
  1. 评估各个维度:
    • 安全性:机密信息管理、权限范围、未固定版本的操作、脚本注入
    • 可靠性:重试逻辑、超时配置、并发处理
    • 性能:缓存、并行化、选择性触发
    • 可维护性:DRY(可复用工作流/复合操作)、可读性、文档
    • 成本:运行器选择、不必要的矩阵组合、构件保留期限
  2. 呈现审查结果 —— 按严重程度(严重/警告/信息)分类,并提供修复建议
  3. 实施 —— 应用获批的修复

模式 6:调试(debug)

分析 CI 失败日志,以找出根本原因和修复方法。

  1. 读取日志 —— 读取提供的日志文件或内联内容。对于较大的日志(超过 500 行):截取最后 200 行和最前面 50 行,然后围绕错误模式抽取中间部分
  2. 解析错误 —— 运行 uv run python scripts/log-parser.py <logfile>
  3. 加载分类处理流程 —— 阅读 references/ci-failure-triage.md
  4. 按类别对失败进行分类:
类别示例常见修复方法
dependency版本冲突、缺少软件包、注册表超时固定版本、添加重试、使用缓存
build编译错误、类型错误、内存不足修复代码、增加运行器内存
test断言失败、测试不稳定、超时修复测试、为不稳定测试添加重试、延长超时时间
lint格式违规、规则违规运行格式化工具、更新配置
deploy权限被拒绝、健康检查失败、资源限制修复权限、检查配置、扩展资源
  1. 追踪根本原因 —— 沿错误链追溯至最初的失败
  2. 建议修复方法 —— 提供具体可行的步骤,包括代码/配置更改

参考文件

每次只加载一个参考文件。不要将所有参考文件预先加载到上下文中。

文件内容读取时机
references/github-actions-patterns.md工作流模式、可复用工作流、复合操作、安全加固Generate、Action、Review 模式
references/gitlab-ci-patterns.mdGitLab CI 流水线模式、包含项、规则、环境Generate 模式(GitLab)
references/deployment-strategies.md蓝绿、金丝雀、滚动发布策略,包含比较和回滚Deploy 模式
references/pipeline-optimization.md缓存、并行化、选择性运行、矩阵优化Optimize 模式
references/pipeline-review-checklist.md安全性、可靠性、性能、可维护性、成本检查清单Review 模式
references/ci-failure-triage.md错误类别分类、根因模式、修复方案Debug 模式
references/artifact-management.md制品传递、保留、环境晋级模式Generate、Deploy 模式
脚本运行时机
scripts/workflow-analyzer.py分析工作流结构、检测问题、寻找优化机会
scripts/pipeline-cost-estimator.py估算 CI 分钟数并识别节省成本的机会
scripts/log-parser.py从 CI 故障日志中提取可执行的错误信息
模板渲染时机
templates/dashboard.html分析后——将流水线健康数据注入仪表板

关键规则

  1. 绝不生成未固定第三方操作的工作流——始终使用完整 SHA 固定版本(uses: actions/checkout@<sha>)
  2. 绝不将 pull_request_target 与用于检出 PR 头部的 actions/checkout 搭配使用——存在脚本注入风险
  3. 始终设置明确的 permissions 块——绝不依赖默认权限(权限范围过宽)
  4. 绝不在工作流文件中硬编码机密——使用 ${{ secrets.NAME }} 或环境变量
  5. 部署工作流始终包含 concurrency 组,以防止并行部署
  6. 始终为每个作业添加 timeout-minutes——防止作业失控并耗尽配额
  7. 除非用户明确要求,否则绝不生成 runs-on: self-hosted——这会带来安全影响
  8. 在呈现生成的 YAML 前,始终运行 workflow-analyzer.py 进行验证
  9. 部署工作流必须包含健康检查和回滚触发条件
  10. Debug 模式必须在分析前截断或抽样大型日志(超过 500 行)——不要将完整的 CI 日志加载到上下文中
  11. 在用户批准修复之前,Review 模式为只读(审批关卡)
  12. 每次只加载一个参考文件——不要将所有参考文件预先加载到上下文中
  13. 每条优化建议都必须包含预计节省的时间
  14. 生成的工作流必须包含行内注释,解释不明显的配置选项

评论

支持 Markdown