SuperAPI AI 工具集

devops-automation

部署与运维

查看项目

更新于 10-15 14:01

技能介绍

DevOps Automation 是一套围绕 CI/CD 流水线设计的技能集合,内容以配置示例和最佳实践为主,覆盖 GitHub Actions、Docker、Kubernetes、Helm、ArgoCD 与 Prometheus 等工具。

用途

该技能用于指导 CI/CD 流水线的设计与落地,帮助团队构建从代码提交、测试、构建镜像到部署和监控的自动化流程。它强调以 Git 为单一事实来源的 GitOps 模式,以及零停机部署、安全扫描等工程实践。

主要能力

GitHub Actions 工作流

提供完整的 CI/CD 工作流结构示例,包含 lint、test、deploy 三个阶段。关键模式包括:使用 concurrency 取消过期的运行;通过 setup action 的 cache 选项缓存依赖;使用 needs 定义作业依赖;通过 environment 保护规则控制部署;使用 matrix 进行跨版本测试。

Docker 多阶段构建

给出基于 node:22-alpine 的多阶段 Dockerfile 示例,分为 deps、builder、runner 三个阶段。规则包括:使用具体镜像标签而非 latest;以非 root 用户运行;仅将必要文件复制到最终阶段;添加 HEALTHCHECK 以便编排器集成;使用 .dockerignore 排除 node_modules、.git、tests。

Kubernetes 部署清单

提供 Deployment 清单示例,包含副本数、滚动更新策略(maxSurge: 1,maxUnavailable: 0)、资源请求与限制、就绪探针与存活探针、通过 secretKeyRef 注入环境变量。强调始终设置资源请求与限制,始终定义就绪与存活探针,使用 maxUnavailable: 0 实现零停机部署。

Helm Chart 结构

展示 Chart 目录结构,包含 Chart.yaml、values.yaml、values-staging.yaml、values-production.yaml 以及 templates 下的 deployment、service、ingress、hpa、_helpers.tpl。建议按环境使用 values-{env}.yaml 覆盖,使用 helm lint 检查,部署前用 helm template 测试。

ArgoCD GitOps 模式

提供 ArgoCD Application 定义示例,包含 source、destination 与 syncPolicy(automated、prune、selfHeal、CreateNamespace)。GitOps 原则包括:Git 是集群状态的单一事实来源;所有变更通过 PR 进行,生产环境不使用 kubectl apply;ArgoCD 从 Git 自动同步到集群;启用 selfHeal 回滚手动集群变更;应用代码仓库与部署清单仓库分离。

监控栈

提供 Prometheus ServiceMonitor 示例,列出应暴露的关键指标:http_request_duration_seconds(直方图,按路由和状态码统计请求延迟)、http_requests_total(计数器,按路由和状态码统计请求数)、process_resident_memory_bytes(仪表,内存使用)、db_query_duration_seconds(直方图,数据库查询延迟)。告警条件包括:错误率 >1%、P99 延迟 >2s、内存 >80% 限制、10 分钟内 Pod 重启 >3 次。

使用方式

该技能以配置示例和规则说明的形式提供,用户可参考其中的 YAML、Dockerfile 与工作流片段,结合自身项目进行调整。示例中出现的 registry.example.com、api.example.com 等为占位符,需替换为实际值。

适用场景

适用于需要搭建或优化 CI/CD 流水线的工程团队,尤其是使用 GitHub Actions、Docker、Kubernetes、Helm 与 ArgoCD 的技术栈。也适合作为团队内部 DevOps 规范的参考模板。

限制

资料未提供该技能的安装方式、运行环境要求、收费模式或平台支持信息。示例中的具体版本号、镜像地址与域名均为占位或示例值,实际使用时需根据项目情况调整。