deployment-verifier¶
Pack: deploy
对已部署/升级/回滚后的服务做功能验证:health/readiness、核心API smoke test、页面可访问性、端口监听、日志与依赖(DB/Redis/MQ/proxy)核验。Trigger for验收、交接、巡检、故障修复后复验;用于证明“服务可用”而非仅“进程已启动”。
Compatibility: Requires network access to the service under test. Python 3.11+ and uv recommended. Helpful tools: curl, jq, grep, journalctl, docker logs.
目标¶
验证“服务真的能用”,而不只是“进程活着”。
何时使用¶
-新部署完成后 -升级完成后 -回滚完成后 -做验收、交接、巡检 -故障修复后确认恢复
验证层次¶
Level 1:健康与可达¶
-端口是否监听
- /health、/ready、/metrics 是否按预期返回
- Web首页或关键页面是否可打开
Level 2:核心功能smoke test¶
-关键API返回正确状态码 -关键响应字段存在 -认证链路基本可用 - worker/queue/background job已恢复
Level 3:日志与依赖¶
-启动日志无明显报错 -数据库连接正常 - Redis/MQ/存储等依赖无错误 -反向代理无502/504/连接拒绝
推荐脚本¶
当验证对象是HTTP/HTTPS接口时,优先使用:
你可以根据实际服务复制并修改 assets/smoke-matrix.example.json。
最低交付标准¶
部署完成后,至少提供:
- 一条health/readiness结果
- 一条核心功能smoke test结果
- 一条日志或依赖核验结果
验证报告模板¶
见:
assets/verification-report-template.md
判定标准¶
可以宣称“验证通过”¶
仅当: -核心检查全部通过 -没有阻塞级错误日志 -至少一条关键用户路径已验证
不能宣称“验证通过”¶
如果出现: - health ok但核心API不通 -页面打开但后台接口报错 -端口监听但日志持续报错 -服务自检通过但反向代理/认证/依赖失败
gotchas¶
/health200不代表数据库就真的可用 -容器Up不代表应用初始化完成 -只看首页能打开,可能忽略登录态、后端API、worker -日志中偶发warning与持续error不是一回事,要区分 -生产验证应尽量避开破坏性写操作
何时读取参考文件¶
-需要扩展smoke test矩阵时,读取:
... (3 more lines in full SKILL.md)