mcpField
D
devops-deployment

devops-deployment

github.com/yonatangross云与 DevOps2991.6k 次安装今天更新
代码仓库

关于 devops-deployment

面向规划 CI/CD、容器、基础设施自动化和发布的团队,提供 DevOps 与部署技能。内容整合 Docker、Kubernetes、部署策略、密钥管理和可观测性的实践模式与检查清单。

主要功能

  1. 01CI/CD 流水线阶段
  2. 02Docker 构建与安全模式
  3. 03Kubernetes 部署指南
  4. 04滚动、蓝绿和金丝雀发布
  5. 05基础设施与密钥管理

适用场景

  1. 01设计 CI/CD 流水线
  2. 02将应用容器化
  3. 03在 Kubernetes 上部署服务
  4. 04规划分阶段或便于回滚的发布

安装

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

$npx skills add https://github.com/yonatangross/orchestkit --skill devops-deployment

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

包含的文件

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

test-cases.json
references/
capability-details.md
checklists-and-templates.md
deployment-strategies.md
docker-patterns.md
multi-service-setup.md
nixpacks-customization.md
ork-delta.md
railway-json-config.md
rules/
_sections.md
_template.md
devops-branch-protection.md
devops-ci-caching.md
devops-db-migrations.md
docker-layer-security.md
docker-multistage.md
railway-deployment.md
scripts/
argocd-application.yaml
create-ci-pipeline.md
create-docker-compose.md
docker-compose.yml
Dockerfile
external-secrets.yaml
github-actions-pipeline.yml
helm-values.yaml
k8s-manifests.yaml
terraform-aws.tf

详细介绍

DevOps 与部署技能

关于 CI/CD 流水线、容器化、部署策略和基础设施自动化的全面框架。

注意: 如果启用了 disableSkillShellExecution(CC 2.1.91),Docker 安装检查将不会运行。请确认 Docker 可用于容器操作:docker --version。

概览

  • 设置 CI/CD 流水线
  • 容器化应用程序
  • 部署到 Kubernetes 或云平台
  • 实施 GitOps 工作流
  • 以代码形式管理基础设施
  • 规划发布策略

流水线架构

┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Code     │─>│ Build    │─>│ Test     │─>│ Deploy   │
│ Commit   │ │ Lint     │ │ Scan     │ │ Release  │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
  triggers     artifacts    reports      monitoring

核心概念

CI/CD 流水线阶段
  1. Lint 与类型检查 - 代码质量关卡
  2. 单元测试 - 带报告的测试覆盖率
  3. 安全扫描 - npm audit + Trivy 漏洞扫描器
  4. 构建与推送 - 将 Docker 镜像推送到容器注册表
  5. 部署到预发布环境 - 由环境门控的部署
  6. 部署到生产环境 - 手动审批或自动部署
容器最佳实践

多阶段构建可缩小镜像体积:

  • 阶段 1:仅安装生产依赖项
  • 阶段 2:使用开发依赖项构建应用程序
  • 阶段 3:占用空间最小的生产运行环境

安全加固:

  • 非 root 用户(uid 1001)
  • 尽可能使用只读文件系统
  • 用于与编排器集成的健康检查
Kubernetes 部署

必备清单:

  • 使用滚动更新策略的 Deployment
  • 用于内部路由的 Service
  • 用于通过 TLS 提供外部访问的 Ingress
  • 用于扩缩容的 HorizontalPodAutoscaler

安全上下文:

  • runAsNonRoot: true
  • allowPrivilegeEscalation: false
  • readOnlyRootFilesystem: true
  • 删除所有权限
部署策略
策略使用场景风险
滚动部署默认策略,逐步替换低 - 自动回滚
蓝绿部署即时切换,易于回滚中 - 资源翻倍
金丝雀发布逐步转移流量低 - 逐步扩大范围

滚动更新(Kubernetes 默认策略):

strategy:
  type: RollingUpdate
  rollingUpdate:
    maxSurge: 25%
    maxUnavailable: 0  # Zero downtime
密钥管理

使用 External Secrets Operator 从云服务提供商同步密钥:

  • AWS Secrets Manager
  • HashiCorp Vault
  • Azure Key Vault
  • GCP Secret Manager

参考资料

Docker 模式

加载:Read("references/docker-patterns.md")

涵盖的主题:

  • 将镜像体积缩减 78% 的多阶段构建示例
  • 图层缓存优化
  • 安全加固(非 root、健康检查)
  • Trivy 漏洞扫描
  • Docker Compose 开发环境设置
OrchestKit 增补规则(内部规范)

加载:Read("references/ork-delta.md")

涵盖的主题:

  • CI 并发组、5 分钟以内的反馈预算、路径过滤
  • 服务容器健康门控、固定 SHA 的部署、CDN 缓存失效顺序
  • Kubernetes 探针预算、请求/限制基准、PodDisruptionBudget 下限
  • External Secrets 刷新间隔、ArgoCD prune 与 selfHeal、Terraform 状态锁定
  • 带持续时间窗口的告警阈值、请求 ID 日志绑定、回滚演练
Railway 部署

加载:Read("rules/railway-deployment.md")

涵盖的主题:

  • railway.json 配置、Nixpacks 构建
  • 环境变量管理、数据库配置
  • 多服务设置、Railway CLI 工作流
  • 参考资料:references/railway-json-config.md、references/nixpacks-customization.md、references/multi-service-setup.md
部署策略

加载:Read("references/deployment-strategies.md")

涵盖的主题:

  • 滚动部署(maxUnavailable / maxSurge)
  • 蓝绿部署(服务选择器切换与回滚)
  • 金丝雀发布(按副本比例拆分流量)

上游内容覆盖范围(请勿重复说明)

此技能封装了第三方产品。此处不重复说明供应商产品的运作机制;请从以下来源获取相关信息。如果某一行注明“内部规范子集保留在 X”,则该文件仅保留 OrchestKit 的阈值、配置或顺序决策,不包含供应商教程。

主题查阅来源
GitHub Actions 工作流语法、矩阵构建、工件上传/下载、缓存机制https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax(内部缓存键子集保留在 rules/devops-ci-caching.md 中)
触发器筛选条件(on.push.paths、计划任务、workflow_dispatch)https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/trigger-a-workflow
用于集成测试的服务容器https://docs.github.com/en/actions/tutorials/use-containerized-services/use-docker-service-containers
部署环境和审批门禁https://docs.github.com/en/actions/how-tos/deploy/configure-and-manage-deployments/manage-environments
受保护分支和必需的状态检查https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches(内部审批人数要求保留在 rules/devops-branch-protection.md 中)
Kubernetes 探针语义和所有探针字段https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/(内部探针数值保留在 references/ork-delta.md 中)
请求、限制、配额和 QoS 类别https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/(内部基线保留在 references/ork-delta.md 中)
PodDisruptionBudget 语义和驱逐 APIhttps://kubernetes.io/docs/tasks/run-application/configure-pdb/(内部 minAvailable 下限保留在 references/ork-delta.md 中)
StatefulSets、序号标识、volumeClaimTemplateshttps://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
Helm chart 编写、模板和 values 文件https://helm.sh/docs/topics/charts/(我们使用的 chart 目录结构保留在 references/checklists-and-templates.md 中)
External Secrets Operator CRD 字段和后端https://external-secrets.io/latest/api/externalsecret/(内部刷新/创建策略保留在 references/ork-delta.md 中)
ArgoCD 自动同步、修剪和自我修复https://argo-cd.readthedocs.io/en/stable/user-guide/auto_sync/(内部重试/退避策略保留在 references/ork-delta.md 中)
Terraform S3 后端和状态锁定https://developer.hashicorp.com/terraform/language/backend/s3(内部后端配置保留在 references/ork-delta.md 中)
Terraform 模块组合和变量文件https://developer.hashicorp.com/terraform/language/modules
Alembic revision、upgrade 和 downgrade 命令行https://alembic.sqlalchemy.org/en/latest/tutorial.html(零停机迁移顺序保留在 rules/devops-db-migrations.md 中)
Prometheus 客户端埋点(Counter、Histogram、指标暴露)https://prometheus.github.io/client_python/
用于仪表板的 PromQL 函数(rate、histogram_quantile)https://prometheus.io/docs/prometheus/latest/querying/functions/
Prometheus 告警规则语法https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/(内部阈值和持续时间窗口保留在 references/ork-delta.md 中)
OpenTelemetry FastAPI 自动埋点和手动 spanshttps://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/fastapi/fastapi.html
structlog 上下文绑定https://www.structlog.org/en/stable/contextvars.html(先绑定再调用的顺序保留在 references/ork-delta.md 中)
Trivy 严重级别筛选和扫描配置https://trivy.dev/latest/docs/configuration/filtering/(内部镜像扫描 CI 接线保留在 references/docker-patterns.md 中,每周扫描计划和严重级别下限保留在 references/ork-delta.md 中)
CloudFront 失效语义和成本https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html(先同步再失效的顺序保留在 references/ork-delta.md 中)
上线前安全、负载测试和监控检查清单ork:security-patterns、ork:testing-perf、ork:monitoring-observability(部署日检查清单保留在 references/checklists-and-templates.md 中)

部署清单与模板

加载:Read("references/checklists-and-templates.md"),查看部署前、部署中和部署后的检查清单、Helm chart 结构及模板参考表。


相关技能

  • ork:security-patterns - CI/CD 流水线的安全扫描与加固模式
  • ork:monitoring-observability - 已部署应用的 Prometheus、Grafana 和告警
  • ork:database-patterns - 后端部署的 Python/Alembic 迁移工作流
  • portless(上游)- 多服务本地开发使用的命名 .localhost URL(portless alias api 8080)

关键决策

决策选择原因
容器用户非 root(uid 1001)安全最佳实践,也是许多编排器的要求
部署策略滚动更新(默认)零停机时间、自动回滚、资源利用率高
密钥管理External Secrets Operator从云服务提供商同步,兼容 GitOps
健康检查分别进行启动、存活和就绪检查防止流量过早进入,并支持优雅关停

能力详情

加载:Read("references/capability-details.md"),查看涵盖全部 6 项能力(ci-cd、docker、kubernetes、infrastructure-as-code、deployment-strategies、observability)的完整关键词索引及问题解决方案映射。

评论

支持 Markdown