mcpField
D
devops-automator

devops-automator

github.com/curiositech云与 DevOps257208 次安装2 天前更新
代码仓库

关于 devops-automator

devops-automator 是面向 DevOps 工作的技能,涵盖 CI/CD、基础设施即代码、容器和部署自动化。它为管理交付流程与基础设施的工程师提供模式、验证指导和示例产物。

主要功能

  1. 01CI/CD 流水线设计
  2. 02使用 Terraform、AWS CDK 和 Pulumi 编写基础设施即代码
  3. 03Docker 与 Kubernetes 配置
  4. 04使用 ArgoCD 和 Flux 的 GitOps 模式
  5. 05验证工作流与基础设施文件

适用场景

  1. 01设计分阶段的 CI/CD 流水线
  2. 02创建可复用的 Terraform 模块和 Kubernetes 清单
  3. 03检查容器与基础设施配置中的风险

安装

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

$npx skills add https://github.com/curiositech/some_claude_skills --skill devops-automator

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

包含的文件

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

CHANGELOG.md
.claude-plugin/
plugin.json
references/
dockerfile-multistage.dockerfile
github-actions-patterns.yaml
kubernetes-deployment.yaml
terraform-eks-module.tf
scripts/
validate-devops-skill.sh

详细介绍

DevOps 自动化工程师

专长于 CI/CD 流水线、基础设施即代码、容器编排和部署自动化的 DevOps 专家。

激活条件

适用于: “CI/CD”、“GitHub Actions”、“部署流水线”、“Terraform”、“基础设施即代码”、“IaC”、“Docker”、“Kubernetes”、“K8s”、“Helm”、“容器编排”、“GitOps”、“ArgoCD”、“部署自动化”、“密钥管理”、“监控配置”

不适用于: 应用开发 → 语言技能 | 数据库设计 → data-pipeline-engineer | API 设计 → api-architect

快速入门

  1. 定义部署策略:蓝绿部署、金丝雀发布或滚动部署
  2. 选择 IaC 工具:使用 Terraform 管理云资源,使用 Helm 管理 K8s 应用
  3. 设计 CI 阶段:lint → test → security scan → build → deploy
  4. 实施 GitOps:使用 ArgoCD 同步配置仓库
  5. 添加可观测性:Prometheus 指标、结构化日志

核心能力

领域工具和技术
CI/CDGitHub Actions、GitLab CI、Jenkins
IaCTerraform、AWS CDK、Pulumi
容器Docker、Kubernetes、Helm
GitOpsArgoCD、Flux、Kustomize
监控Prometheus、Grafana、ELK/EFK

架构模式

CI/CD 流水线流程
Code Commit → Build → Test → Security Scan → Package
                                              ↓
Monitor ← Release Staging ← Smoke Tests ← Deploy Dev
                 ↓
         Manual Approval
                 ↓
         Deploy Production
GitOps 架构
App Repo ──CI──▶ Config Repo ──ArgoCD──▶ K8s Cluster
                     ▲                        │
                     └────Continuous Sync─────┘

参考文件

完整可运行示例位于 ./references/:

文件描述行数
github-actions-patterns.yaml完整的 CI/CD 流水线217
terraform-eks-module.tf生产级 EKS 集群282
kubernetes-deployment.yamlDeployment + HPA + ArgoCD200
dockerfile-multistage.dockerfile优化的多阶段构建51

反模式(请避免)

1. YAML 复制粘贴泛滥

症状:多个仓库中存在几乎相同的重复工作流文件
解决方案:可复用工作流、Helm chart、Kustomize 基础配置、Terraform 模块

2. 在代码中硬编码密钥

症状:API 密钥、密码被提交到 git
解决方案:密钥管理器(Vault、AWS SM)、密封密钥、来自安全来源的环境变量

3. 没有回滚策略

症状:部署失败时没有预案,需要人工介入
解决方案:蓝绿部署、带自动回滚的金丝雀发布、ArgoCD 自动回滚

4. 单体 CI 流水线

症状:单个耗时 45 分钟的流水线,每次提交都重新构建所有内容
解决方案:并行作业、缓存、增量构建、基于路径的触发器

5. 没有资源限制

症状:没有 CPU/内存限制的 K8s pod 耗尽所有主机资源
解决方案:始终设置 requests/limits,使用 LimitRanges 和 ResourceQuotas

6. 在容器中以 root 身份运行

症状:Dockerfile 中没有 USER 指令,pod 以特权模式运行
解决方案:添加 USER 指令,设置 securityContext.runAsNonRoot: true

7. 使用 :latest 标签

症状:生产环境中使用 FROM node:latest 或 image: app:latest
解决方案:固定具体版本,使用带 SHA 摘要的不可变标签

8. 没有健康检查

症状:Dockerfile 缺少 HEALTHCHECK,没有存活性/就绪性探针
解决方案:添加健康检查端点,配置适当超时时间的探针

9. 单点故障

症状:replicas: 1,没有 pod 反亲和性,仅使用单个可用区
解决方案:设置多个副本、pod 反亲和性和拓扑分布约束

10. Terraform 状态存储在本地文件中

症状:terraform.tfstate 被提交到 git 或存储在本地
解决方案:使用远程后端(S3+DynamoDB、Terraform Cloud、GCS)

11. 没有并发控制

症状:同一分支存在多个 CI 运行,导致部署竞争条件
解决方案:使用并发组,实现部署锁

12. 忽略安全扫描

症状:没有漏洞扫描,CI 中没有密钥检测
解决方案:使用 Trivy、Snyk 或 Grype 扫描漏洞;使用 TruffleHog 检测密钥

13. 无漂移检测

症状:基础设施被手动更改,配置与代码不一致
修复:使用 ArgoCD 检测差异,在 CI 中运行 terraform plan,定期审计

14. IAM 权限过于宽松

症状:IAM 角色的操作权限为 *,服务账户拥有 cluster-admin 权限
修复:遵循最小权限原则,为 Pod 使用 IRSA,审计权限

15. 缺少可观测性

症状:没有指标,日志仅输出到 stdout,没有告警
修复:导出指标,使用结构化日志,定义 SLO,配置告警

验证脚本

运行 ./scripts/validate-devops-skill.sh 以检查:

  • GitHub Actions 工作流中是否存在已弃用的操作、是否缺少缓存
  • Dockerfile 是否遵循安全最佳实践
  • Kubernetes 清单是否设置资源限制和安全上下文
  • Terraform 是否设置版本约束和安全的默认值

质量检查清单

[ ] All secrets in secret management (not in code)
[ ] Resource limits defined for all containers
[ ] Health checks configured (liveness, readiness)
[ ] Horizontal pod autoscaling enabled
[ ] Security contexts set (non-root, read-only)
[ ] Monitoring and alerting configured
[ ] Rollback strategy documented
[ ] Multi-environment support (dev, staging, prod)
[ ] Concurrency controls in CI pipelines
[ ] Remote state backend for Terraform
[ ] Vulnerability scanning in pipeline
[ ] Version pinning for all dependencies

输出产物

  1. CI/CD 工作流 - GitHub Actions、GitLab CI 配置
  2. Terraform 模块 - 可复用的基础设施组件
  3. Kubernetes 清单 - 部署、服务、配置
  4. Helm Charts - 打包的应用程序
  5. Docker 配置 - 优化的多阶段构建
  6. ArgoCD 应用 - GitOps 部署定义

可用工具

  • Read、Write、Edit - 配置和清单的文件操作
  • Bash(docker:*) - 构建和管理容器
  • Bash(kubectl:*) - Kubernetes 操作
  • Bash(terraform:*) - 基础设施预配
  • Bash(helm:*) - Helm chart 管理
  • Bash(gh:*) - GitHub CLI 操作

评论

支持 Markdown