mcpField
O
operations-deployment-checklist

operations-deployment-checklist

github.com/xip-online-applications云与 DevOps048 次安装13 周前更新
代码仓库

关于 operations-deployment-checklist

用于发布或配置变更前检查部署准备情况的技能,覆盖环境变量、密钥、Helm 与 Kubernetes 配置、依赖顺序和回滚条件。适合服务部署及基础设施变更的检查流程。

主要功能

  1. 01扫描配置差异与变量引用
  2. 02核对配置值并要求用户确认
  3. 03检查 Helm 与 Kubernetes 就绪项
  4. 04审查依赖、迁移和功能标志
  5. 05确认回滚条件并执行部署后验证

适用场景

  1. 01发布服务到测试或生产环境
  2. 02修改 Helm 值或 Kubernetes 清单
  3. 03新增环境变量、密钥或配置映射
  4. 04调整资源、网络或存储配置

安装

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

$npx skills add https://github.com/xip-online-applications/skills --skill operations-deployment-checklist

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

详细介绍

运维部署检查清单

在任何发布或配置变更部署到集群之前,运行全面的部署检查清单。确认所有环境变量、密钥、配置值和基础设施前置条件均已落实。

适用场景

在以下情况下使用此技能:

  • 将服务的新版本部署到任何环境(预发布、生产)
  • 更新 Helm 值、Kubernetes 清单或部署配置
  • 在应用程序代码中引入新的环境变量、密钥或 ConfigMap 条目
  • 更改基础设施资源(副本数、资源限制、入口规则)
  • 回滚部署

操作说明

步骤 1:检测配置变更
  1. 扫描差异。 将当前变更与已部署状态进行比较。找出任何新增或修改的内容:

    • 环境变量(位于代码、.env 文件、Helm 值、ConfigMap 或容器规格中)
    • 密钥引用
    • ConfigMap 条目
    • 功能标志
    • 服务端点或 URL
    • 资源限制(CPU、内存)
    • 卷挂载或持久化存储
  2. 交叉核对应用程序代码。 如果应用程序代码中引入了新的 process.env.X、$_ENV['X']、os.environ['X'] 或等效写法,请确认部署清单中有对应条目。

  3. 报告发现。 列出检测到的每项配置新增或变更。对每项说明:

    • 变量/密钥/配置的名称
    • 使用位置(文件和行号)
    • 应定义的位置(Helm 值、ConfigMap、Secret 等)
    • 代码中是否存在默认值/回退值
步骤 2:请用户确认配置值

对于每项新增或变更的配置值,明确询问用户:

  1. “<VARIABLE_NAME> 是否已在目标环境中设置?”

    • 如果是密钥:“是否已在集群的密钥存储中创建/更新该密钥?”
    • 如果没有默认值:“此变量没有回退值——缺少它将导致应用程序无法运行。请确认已设置。”
  2. “此值是否适用于该环境?”(例如,预发布 URL 与生产 URL)

  3. **“此值在不同环境中是否有所不同?”**如果是,请确认每个环境都设置了正确的值。

在用户确认所有配置值均已就绪之前,不要继续。

步骤 3:验证 Helm/Kubernetes 就绪情况
  1. Helm 值完整性。 确认 values.yaml(或特定环境的覆盖配置)中的所有必需值均已填写。标记任何为空、已注释掉或设置为 TODO、CHANGEME、<replace> 等占位值的条目。

  2. 镜像标签。 确认容器镜像标签与预期发布版本一致。如果生产环境指向 latest,请标记。

  3. 资源限制。 确认已设置 CPU 和内存请求/限制。标记未设置资源限制的容器。

  4. 副本数。 确认副本数适合目标环境。标记生产环境中没有合理说明的单副本部署。

  5. 健康检查。 确认已定义存活探针和就绪探针。标记未配置探针的容器。

  6. 入口/网络。 如果路由发生变更,请确认:

    • DNS 记录已存在或已规划
    • TLS 证书已配置
    • 网络策略允许所需流量
  7. 持久化存储。 如果新增或扩容卷,请确认存储类已存在且容量充足。

第 4 步:验证依赖项和顺序
  1. 数据库迁移。 如果部署需要更改架构:

    • “是否已运行迁移(或是否会在启动时自动运行)?”
    • “迁移是否与当前运行的版本向后兼容?”(用于零停机部署)
  2. 依赖服务。 如果部署依赖于先更新另一项服务:

    • “<dependency> 是否已部署所需的更改?”
    • “服务之间的 API 契约是否兼容?”
  3. 功能标志。 如果新功能由标志控制:

    • “目标环境中是否已配置该标志?”
    • “部署时应启用还是禁用该标志?”
第 5 步:验证回滚就绪情况
  1. “此部署是否可以安全回滚?” 检查以下内容:

    • 不可逆的迁移
    • 与上游/下游服务之间存在破坏性变更的契约
    • 单向数据转换
  2. “之前的镜像/版本是否仍然可用?” 确认注册表中存在先前版本的标签。

  3. “是否有回滚运行手册或已知流程?” 如果没有,请将其标记为风险。

第 6 步:确认最终检查清单

提供摘要检查清单,并要求用户明确确认:

## Deployment Checklist — <service> → <environment>

### Configuration
- [ ] All new environment variables are set in the target environment
- [ ] All secrets are created/updated in the secret store
- [ ] Values are correct for this specific environment (not copied from another)

### Kubernetes/Helm
- [ ] Image tag points to the correct release version
- [ ] Resource requests and limits are defined
- [ ] Health checks (liveness + readiness) are configured
- [ ] Replica count is appropriate for the environment
- [ ] Ingress/DNS/TLS are configured (if applicable)

### Dependencies
- [ ] Database migrations are applied or will auto-run
- [ ] Dependent services are deployed and compatible
- [ ] Feature flags are configured

### Rollback
- [ ] Deployment can be rolled back without data loss
- [ ] Previous version is available in the registry

### Sign-off
- [ ] Engineer confirms: ready to deploy

在所有适用项目都已勾选,或已明确标记为不适用并说明原因之前,不要继续部署。

第 7 步:部署后验证

应用部署后:

  1. 监控 Pod 状态。 确认所有 Pod 均达到 Running 状态并通过就绪检查。
  2. 检查日志。 查看最初 2–5 分钟内是否有错误级别的日志条目。
  3. 冒烟测试。 如果存在健康检查端点或基本功能检查,请运行该检查。
  4. 如果发现任何异常,请提醒用户,即使 Pod 在技术上处于运行状态也不例外。

原则

  • 绝不假定配置正确。 始终明确验证。
  • 宁可阻止部署。 延迟部署也好过部署故障。
  • 让不可见的问题显现出来。 揭示所有隐含的依赖项和假设。
  • 一次部署到一个环境。 未经明确确认,绝不要同时部署到多个环境。

评论

支持 Markdown