关于 operations-deployment-checklist
用于发布或配置变更前检查部署准备情况的技能,覆盖环境变量、密钥、Helm 与 Kubernetes 配置、依赖顺序和回滚条件。适合服务部署及基础设施变更的检查流程。
主要功能
- 01扫描配置差异与变量引用
- 02核对配置值并要求用户确认
- 03检查 Helm 与 Kubernetes 就绪项
- 04审查依赖、迁移和功能标志
- 05确认回滚条件并执行部署后验证
适用场景
- 01发布服务到测试或生产环境
- 02修改 Helm 值或 Kubernetes 清单
- 03新增环境变量、密钥或配置映射
- 04调整资源、网络或存储配置
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ xip-online-applications/ skills --skill operations-deployment-checklist安装后在 Claude Code 中输入/operations-deployment-checklist确认已加载。
详细介绍
运维部署检查清单
在任何发布或配置变更部署到集群之前,运行全面的部署检查清单。确认所有环境变量、密钥、配置值和基础设施前置条件均已落实。
适用场景
在以下情况下使用此技能:
- 将服务的新版本部署到任何环境(预发布、生产)
- 更新 Helm 值、Kubernetes 清单或部署配置
- 在应用程序代码中引入新的环境变量、密钥或 ConfigMap 条目
- 更改基础设施资源(副本数、资源限制、入口规则)
- 回滚部署
操作说明
步骤 1:检测配置变更
-
扫描差异。 将当前变更与已部署状态进行比较。找出任何新增或修改的内容:
- 环境变量(位于代码、
.env文件、Helm 值、ConfigMap 或容器规格中) - 密钥引用
- ConfigMap 条目
- 功能标志
- 服务端点或 URL
- 资源限制(CPU、内存)
- 卷挂载或持久化存储
- 环境变量(位于代码、
-
交叉核对应用程序代码。 如果应用程序代码中引入了新的
process.env.X、$_ENV['X']、os.environ['X']或等效写法,请确认部署清单中有对应条目。 -
报告发现。 列出检测到的每项配置新增或变更。对每项说明:
- 变量/密钥/配置的名称
- 使用位置(文件和行号)
- 应定义的位置(Helm 值、ConfigMap、Secret 等)
- 代码中是否存在默认值/回退值
步骤 2:请用户确认配置值
对于每项新增或变更的配置值,明确询问用户:
-
“
<VARIABLE_NAME>是否已在目标环境中设置?”- 如果是密钥:“是否已在集群的密钥存储中创建/更新该密钥?”
- 如果没有默认值:“此变量没有回退值——缺少它将导致应用程序无法运行。请确认已设置。”
-
“此值是否适用于该环境?”(例如,预发布 URL 与生产 URL)
-
**“此值在不同环境中是否有所不同?”**如果是,请确认每个环境都设置了正确的值。
在用户确认所有配置值均已就绪之前,不要继续。
步骤 3:验证 Helm/Kubernetes 就绪情况
-
Helm 值完整性。 确认
values.yaml(或特定环境的覆盖配置)中的所有必需值均已填写。标记任何为空、已注释掉或设置为TODO、CHANGEME、<replace>等占位值的条目。 -
镜像标签。 确认容器镜像标签与预期发布版本一致。如果生产环境指向
latest,请标记。 -
资源限制。 确认已设置 CPU 和内存请求/限制。标记未设置资源限制的容器。
-
副本数。 确认副本数适合目标环境。标记生产环境中没有合理说明的单副本部署。
-
健康检查。 确认已定义存活探针和就绪探针。标记未配置探针的容器。
-
入口/网络。 如果路由发生变更,请确认:
- DNS 记录已存在或已规划
- TLS 证书已配置
- 网络策略允许所需流量
-
持久化存储。 如果新增或扩容卷,请确认存储类已存在且容量充足。
第 4 步:验证依赖项和顺序
-
数据库迁移。 如果部署需要更改架构:
- “是否已运行迁移(或是否会在启动时自动运行)?”
- “迁移是否与当前运行的版本向后兼容?”(用于零停机部署)
-
依赖服务。 如果部署依赖于先更新另一项服务:
- “
<dependency>是否已部署所需的更改?” - “服务之间的 API 契约是否兼容?”
- “
-
功能标志。 如果新功能由标志控制:
- “目标环境中是否已配置该标志?”
- “部署时应启用还是禁用该标志?”
第 5 步:验证回滚就绪情况
-
“此部署是否可以安全回滚?” 检查以下内容:
- 不可逆的迁移
- 与上游/下游服务之间存在破坏性变更的契约
- 单向数据转换
-
“之前的镜像/版本是否仍然可用?” 确认注册表中存在先前版本的标签。
-
“是否有回滚运行手册或已知流程?” 如果没有,请将其标记为风险。
第 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 步:部署后验证
应用部署后:
- 监控 Pod 状态。 确认所有 Pod 均达到
Running状态并通过就绪检查。 - 检查日志。 查看最初 2–5 分钟内是否有错误级别的日志条目。
- 冒烟测试。 如果存在健康检查端点或基本功能检查,请运行该检查。
- 如果发现任何异常,请提醒用户,即使 Pod 在技术上处于运行状态也不例外。
原则
- 绝不假定配置正确。 始终明确验证。
- 宁可阻止部署。 延迟部署也好过部署故障。
- 让不可见的问题显现出来。 揭示所有隐含的依赖项和假设。
- 一次部署到一个环境。 未经明确确认,绝不要同时部署到多个环境。