agentsclimarketplace

Devops

Skill xiaobei930/cc-best/skills/devops

🎭 cc-best: Turn Claude Code into a full dev team — PM→Lead→Dev→QA autonomous workflow. 44 commands · 19 skills · 8 agents · 43 rules · 30 hooks · auto-learning pipeline. | 一个插件,完整开发团队。

Install
npx -y skills add xiaobei930/cc-best --skill devops

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

DevOps patterns: containerization, CI/CD, deployment strategies, monitoring. Use when containerizing apps, setting up pipelines, or deploying services.

SKILL.md

9.7 KB, as published. Nobody here has run it

DevOps 模式

本技能提供 DevOps 实践的最佳实践和模式,支持多平台按需加载。

触发条件

  • 容器化应用(Docker)
  • 配置 CI/CD 流水线
  • 部署服务到云平台
  • 设置监控和告警
  • 基础设施即代码

平台专属模式

根据项目需求,加载对应的平台专属文件:

平台加载文件内容
Dockerdocker.md容器化、Compose、镜像优化
CI/CDci-cd.mdGitHub Actions、GitLab CI

加载方式: 检测项目中的 Dockerfile/.github/workflows/k8s/ 等文件确定需求。


通用 DevOps 原则

12-Factor App 原则

┌─────────────────────────────────────────────────────────────┐
│                    12-Factor App 核心原则                     │
├─────────────────────────────────────────────────────────────┤
│  1. Codebase        一个代码库,多个部署                      │
│  2. Dependencies    显式声明依赖                             │
│  3. Config          配置存储在环境变量中                      │
│  4. Backing Services 将后端服务视为附加资源                   │
│  5. Build/Release/Run 严格分离构建、发布、运行                │
│  6. Processes       以无状态进程运行应用                      │
│  7. Port Binding    通过端口绑定导出服务                      │
│  8. Concurrency     通过进程模型扩展                         │
│  9. Disposability   快速启动和优雅终止                       │
│ 10. Dev/Prod Parity 保持开发、预发、生产环境尽量相似          │
│ 11. Logs            将日志视为事件流                         │
│ 12. Admin Processes 将管理任务作为一次性进程运行              │
└─────────────────────────────────────────────────────────────┘

环境管理

┌─────────────────────────────────────────────────────────────┐
│                      环境流转                                │
├─────────────────────────────────────────────────────────────┤
│  Development → Staging → Production                         │
│       ↓           ↓           ↓                             │
│   本地开发      预发验证      线上环境                        │
│   .env.local   .env.staging  .env.production                │
└─────────────────────────────────────────────────────────────┘

环境变量管理:

# .env.example(提交到 Git,作为模板)
DATABASE_URL=postgresql://user:password@localhost:5432/dbname
REDIS_URL=redis://localhost:6379
API_KEY=your-api-key-here

# .env.local(不提交,本地开发)
DATABASE_URL=postgresql://dev:dev@localhost:5432/myapp_dev

部署策略

策略特点适用场景
蓝绿部署双环境切换,零停机,回滚快关键业务,零停机要求
滚动部署逐实例替换,maxSurge/maxUnavailable 控制标准 K8s 部署
金丝雀5-10% 流量试验,渐进增量,监控错误率后全量高风险功能发布

详细配置和流程图见 docker.md 和各云平台文档。


监控与可观测性

三大支柱

支柱用途工具
Metrics聚合的数值数据Prometheus, Datadog
Logs离散的事件记录ELK, Loki
Traces请求的分布式追踪Jaeger, Zipkin

关键指标 (Golden Signals)

┌─────────────────────────────────────────────────────────────┐
│                   四个黄金信号                               │
├─────────────────────────────────────────────────────────────┤
│  Latency    响应时间 - p50, p95, p99                        │
│  Traffic    流量 - QPS, 请求数/秒                           │
│  Errors     错误率 - 5xx 比例, 失败请求                      │
│  Saturation 饱和度 - CPU, 内存, 磁盘使用率                   │
└─────────────────────────────────────────────────────────────┘

告警规则示例

# Prometheus 告警规则
groups:
  - name: application
    rules:
      # 高错误率告警
      - alert: HighErrorRate
        expr: rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m]) > 0.05
        for: 5m
        labels:
          severity: critical
        annotations:
          summary: "高错误率: {{ $value | humanizePercentage }}"

      # 高延迟告警
      - alert: HighLatency
        expr: histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m])) > 1
        for: 5m
        labels:
          severity: warning
        annotations:
          summary: "P95 延迟超过 1s"

基础设施即代码 (IaC)

工具用途关键原则
Terraform基础设施编排声明式、模块化、环境隔离
Ansible配置管理幂等性、Playbook 可复用
Scripts部署/回滚deploy.sh + rollback.sh 成对

目录结构和 Terraform 示例详见 ci-cd.md


安全最佳实践

镜像安全

# ✅ 使用特定版本,非 latest
FROM node:20-alpine

# ✅ 以非 root 用户运行
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
USER appuser

# ✅ 扫描漏洞
# docker scan myimage:tag

密钥管理

方案适用场景工具
环境变量开发/简单部署.env 文件
密钥管理服务生产环境AWS Secrets Manager, Vault
K8s SecretsKuberneteskubectl create secret
# 创建 K8s Secret
kubectl create secret generic app-secrets \
  --from-literal=db-password=mysecretpassword \
  --from-literal=api-key=myapikey

网络安全

# 网络策略示例 - 只允许特定来源访问
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: api-network-policy
spec:
  podSelector:
    matchLabels:
      app: api
  ingress:
    - from:
        - podSelector:
            matchLabels:
              app: frontend
      ports:
        - port: 8080

日志管理

结构化日志

{
  "timestamp": "2025-01-23T10:00:00Z",
  "level": "info",
  "service": "user-service",
  "traceId": "abc123",
  "message": "用户登录成功",
  "userId": "user_456",
  "duration": 45,
  "environment": "production"
}

日志级别指南

级别用途生产环境
DEBUG详细调试信息关闭
INFO正常操作事件开启
WARN潜在问题开启
ERROR错误但可恢复开启
FATAL致命错误开启

平台专属内容

详细的平台专属实现请参考:

  • Docker: docker.md - 容器化、Compose、镜像优化
  • CI/CD: ci-cd.md - GitHub Actions、GitLab CI

💡 Kubernetes 基础概念已包含在本文件中(部署策略、网络策略等),如需深入学习请参考官方文档。


最佳实践

  1. 配置外部化 - 不在代码中硬编码配置
  2. 无状态设计 - 应用实例可随时销毁重建
  3. 健康检查 - 配置 liveness 和 readiness 探针
  4. 优雅终止 - 处理 SIGTERM 信号,完成进行中的请求
  5. 日志标准化 - 结构化日志,统一格式
  6. 监控告警 - 关键指标监控,及时告警
  7. 回滚能力 - 保留多个版本,支持快速回滚
  8. 安全扫描 - 镜像漏洞扫描,依赖检查
  9. 资源限制 - 设置 CPU/内存限制,防止资源耗尽
  10. 文档完善 - 记录部署流程和故障处理

Maintenance

  • Sources: 12-Factor App, CNCF, 各云平台文档
  • Last updated: 2025-01-23
  • Pattern: 通用原则 + 按需加载平台专属

记住: DevOps 的目标是自动化一切可重复的操作——手动步骤越少,出错概率越低。

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.