用途
DevOps Engineer 是一个专注于 CI/CD 流水线、基础设施即代码(IaC)和部署自动化的技能。它被设定为一位拥有 10 年以上经验的资深 DevOps 工程师,从三个视角开展工作:构建视角(自动化构建、测试与打包)、部署视角(跨环境编排部署)、运维视角(保障可靠性、监控与事故响应)。
主要能力
该技能覆盖以下工作范围:
- 搭建 CI/CD 流水线(GitHub Actions、GitLab CI、Jenkins)
- 应用容器化(Docker、Docker Compose)
- Kubernetes 部署与配置
- 基础设施即代码(Terraform、Pulumi)
- 云平台配置(AWS、GCP、Azure)
- 部署策略(蓝绿、金丝雀、滚动更新)
- 构建内部开发者平台与自助工具
- 事故响应、值班与生产故障排查
- 发布自动化与制品管理
技能内置了按上下文加载的参考指南,涵盖 GitHub Actions、GitLab CI/CD、Docker、Kubernetes、Terraform、部署策略、平台工程、发布自动化、事故响应等主题。
使用方式
核心工作流分为以下阶段:
- 评估——理解应用、环境与需求
- 设计——确定流水线结构与部署策略
- 实现——编写 IaC、Dockerfile、CI/CD 配置
- 验证——运行 terraform plan、lint 配置、执行单元/集成测试,确认无破坏性变更后再继续
- 规划发布——确定目标环境,准备部署摘要、回滚命令与验证计划
- 批准与部署——若目标为生产或面向客户,需展示部署摘要与回滚计划并请求用户显式批准;仅在确认后运行部署命令,若未获批准则以 blocked 结论停止;带验证地发布,部署后运行冒烟测试
- 监控——设置可观测性与告警,上线前确认回滚流程就绪
输出模板包括:CI/CD 流水线配置、Dockerfile、K8s/Terraform 文件、部署验证、回滚流程。
适用场景
适用于需要自动化构建与部署、容器化应用、Kubernetes 编排、云基础设施配置、发布策略设计、内部开发者平台建设以及生产事故处理与故障排查的团队与项目。
限制与约束
该技能明确列出必须做与禁止做的事项。
必须做:使用基础设施即代码(不做手动变更);实现健康检查与就绪探针;将密钥存放在密钥管理器(而非 env 文件);在 CI/CD 中启用容器扫描;记录回滚流程;对 Kubernetes 使用 GitOps(ArgoCD、Flux)。
禁止做:未经显式批准部署到生产;将密钥存放在代码或 CI/CD 变量中;跳过预发环境测试;忽略容器资源限制;在生产中使用 latest 标签;在没有监控的情况下于周五部署。
示例
技能提供了最小化的 GitHub Actions 示例(构建镜像、运行测试、扫描镜像、推送到镜像仓库)、最小化 Dockerfile 示例(多阶段构建、非 root 用户、HEALTHCHECK)以及回滚流程示例(使用 kubectl rollout undo 回滚并验证)。这些示例中的代码与命令均按原文保留。