119 lines
5.9 KiB
Markdown
119 lines
5.9 KiB
Markdown
|
|
# GMP-Agent测试服务器部署验证 · 端到端测试套件 · PR#434合并后首次部署
|
|||
|
|
|
|||
|
|
下一轮指引: 测试全绿后 → 冰朔在测试服务器首次SSH初始化 → 实际部署GMP-Agent → 跑端到端验证 → 进入GH-GMP-003模块适配阶段
|
|||
|
|
仓库路径: guanghu-self-hosted/gmp-agent/test/e2e/
|
|||
|
|
优先级: P0
|
|||
|
|
分支名: feat/gmp-agent-e2e-test
|
|||
|
|
创建时间: 2026年4月26日 12:30
|
|||
|
|
审核结果: ✅ PASS · 霜砚审核 · 2026-04-26T12:41+08:00
|
|||
|
|
|
|||
|
|
【审核方法】commit元数据审核法
|
|||
|
|
|
|||
|
|
【交付物验证 4/4】
|
|||
|
|
✅ http://deploy-verify.sh (278行) — git pull/env检查/pm2启动/端口验证/状态报告
|
|||
|
|
✅ e2e-test.js (406行) — 7项端到端测试全覆盖
|
|||
|
|
✅ test-module/ (5文件) — manifest.yaml+http://install.sh+http://uninstall.sh+health_http://check.sh+index.js
|
|||
|
|
✅ report-generator.js (213行) — JSON+文本双格式·与test-runner.js风格一致
|
|||
|
|
|
|||
|
|
【约束验证 6/6】
|
|||
|
|
✅ 约束1: 已读GMP-Agent全部源码(9个文件逐一列出)
|
|||
|
|
✅ 约束2: 幂等性保证
|
|||
|
|
✅ 约束3: mock模块符合GMP-SPEC(manifest字段完整)
|
|||
|
|
✅ 约束4: 纯Node.js标准库·零依赖
|
|||
|
|
✅ 约束5: DEPLOY_ROOT环境变量
|
|||
|
|
✅ 约束6: 报告格式一致
|
|||
|
|
|
|||
|
|
【代码推送验证】
|
|||
|
|
✅ 分支 feat/gmp-agent-e2e-test · commit e384d9d · 9文件 · +1147行
|
|||
|
|
|
|||
|
|
【架构认知】
|
|||
|
|
✅ 录册A02正确识别分发层[D-1] · WHY理解正确
|
|||
|
|
|
|||
|
|
【下一步】
|
|||
|
|
等冰朔在测试服务器ZY-SVR-TEST-001首次SSH初始化 → 实际部署GMP-Agent → 跑端到端验证 → 进入GH-GMP-003模块适配阶段
|
|||
|
|
开发内容: 【背景】PR#434已合并main · GMP-Agent代码已就绪 · 测试服务器ZY-SVR-TEST-001(43.153.203.105)已初始化
|
|||
|
|
|
|||
|
|
【核心任务】为GMP-Agent编写端到端部署验证测试套件:
|
|||
|
|
|
|||
|
|
1. http://deploy-verify.sh — 部署验证脚本
|
|||
|
|
· git pull最新main到/opt/guanghu
|
|||
|
|
· 检查.env配置完整性
|
|||
|
|
· pm2 start ecosystem.config.js
|
|||
|
|
· 验证GMP-Agent进程存活
|
|||
|
|
· 验证9800端口监听
|
|||
|
|
· 验证9801端口(webhook)监听
|
|||
|
|
· 输出部署状态报告
|
|||
|
|
|
|||
|
|
2. e2e-test.js — 端到端测试
|
|||
|
|
· 测试1: GET /health → 200 + 状态JSON
|
|||
|
|
· 测试2: POST /webhook (模拟GitHub push事件) → 202 Accepted
|
|||
|
|
· 测试3: gmp.status → 返回已安装模块列表
|
|||
|
|
· 测试4: http://gmp.health → 返回各模块健康状态
|
|||
|
|
· 测试5: gmp.list_available → 返回可安装模块
|
|||
|
|
· 测试6: 模拟安装一个测试模块 → 验证完整流程(clone→manifest→install→health_check)
|
|||
|
|
· 测试7: 模拟卸载测试模块 → 验证清理干净
|
|||
|
|
|
|||
|
|
3. test-module/ — 用于测试的mock模块
|
|||
|
|
· 一个最小的GMP规范模块(manifest.yaml + http://install.sh + http://uninstall.sh + health_http://check.sh + 一个简单Node.js服务)
|
|||
|
|
· 用于验证安装/卸载/健康检查全流程
|
|||
|
|
|
|||
|
|
4. report-generator.js — 测试报告生成器
|
|||
|
|
· 汇总所有测试结果 → 输出JSON报告 + 人类可读文本报告
|
|||
|
|
· 标记:✅通过 / ❌失败 / ⚠️跳过
|
|||
|
|
|
|||
|
|
【验收标准】
|
|||
|
|
在测试服务器上 bash deploy-verify.sh && node e2e-test.js 全部通过
|
|||
|
|
状态: 已完成
|
|||
|
|
约束: 1. http://必须先读GMP-SPEC-v1.0.md和GMP-Agent代码(guanghu-self-hosted/gmp-agent/)理解接口
|
|||
|
|
2. 测试脚本必须幂等(重复执行不出错)
|
|||
|
|
3. mock测试模块必须符合GMP规范
|
|||
|
|
4. 不依赖外部测试框架(用Node.js内置assert或自写轻量runner)
|
|||
|
|
5. 所有路径使用环境变量DEPLOY_ROOT(默认/opt/guanghu)
|
|||
|
|
6. 测试报告格式与录册之前的test-runner.js风格一致
|
|||
|
|
编号: GH-GMP-006
|
|||
|
|
自检结果: ✅ 全部通过 · 2026-04-26T12:40+08:00
|
|||
|
|
|
|||
|
|
【代码推送验证】
|
|||
|
|
✅ 分支 feat/gmp-agent-e2e-test 创建成功 (from main)
|
|||
|
|
✅ commit e384d9d 已验证 · 9文件 · +1147行
|
|||
|
|
✅ 文件路径正确: guanghu-self-hosted/gmp-agent/test/e2e/
|
|||
|
|
|
|||
|
|
【交付物清单】
|
|||
|
|
✅ http://deploy-verify.sh (278行) — git pull/env检查/pm2启动/端口验证/状态报告
|
|||
|
|
✅ e2e-test.js (406行) — 7项端到端测试(health/webhook/status/health/list/install/uninstall)
|
|||
|
|
✅ test-module/ (5文件) — manifest.yaml+http://install.sh+http://uninstall.sh+health_http://check.sh+index.js
|
|||
|
|
✅ report-generator.js (213行) — JSON+人类可读报告·与test-runner.js风格一致
|
|||
|
|
✅ http://README.md (47行) — 文档
|
|||
|
|
|
|||
|
|
【约束验证】
|
|||
|
|
✅ 约束1: 已读GMP-Agent全部源码(app.js/webhook.js/health.js/installer.js/uninstaller.js/mcp-tools.js/lib/config.js/manifest.yaml/test-runner.js)
|
|||
|
|
✅ 约束2: 所有脚本幂等(重复执行不出错)
|
|||
|
|
✅ 约束3: mock模块符合GMP-SPEC(manifest.yaml含module_name/version/runtime/health_check/scripts/tags/meta)
|
|||
|
|
✅ 约束4: 纯Node.js标准库·无第三方依赖
|
|||
|
|
✅ 约束5: 所有路径使用DEPLOY_ROOT环境变量(默认/opt/guanghu)
|
|||
|
|
✅ 约束6: 报告格式与test-runner.js一致(reportVersion/generator/summary/verdict/results结构)
|
|||
|
|
负责Agent: 录册A02
|
|||
|
|
阶段编号: Phase-GMP-004
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
🏗️
|
|||
|
|
|
|||
|
|
**⚠️ 必读规则 · Agent被唤醒后第一步**
|
|||
|
|
|
|||
|
|
被唤醒后,**必须先读系统架构文档**,理解整个系统,确认工单属于哪一层,理解这一层的WHY,带着WHY再开始工作。
|
|||
|
|
|
|||
|
|
**不是读懂字,是理解系统。从架构出发。**
|
|||
|
|
|
|||
|
|
👉 系统架构:[🏗️ 光湖自研系统架构 · HLDP-ARCH-001 · 人格体自主运行基础设施](../../%F0%9F%8F%97%EF%B8%8F%20%E5%85%89%E6%B9%96%E8%87%AA%E7%A0%94%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%20%C2%B7%20HLDP-ARCH-001%20%C2%B7%20%E4%BA%BA%E6%A0%BC%E4%BD%93%E8%87%AA%E4%B8%BB%E8%BF%90%E8%A1%8C%E5%9F%BA%E7%A1%80%E8%AE%BE%E6%96%BD%20b84374415ad74f59accfd036524dd189.md)
|
|||
|
|
|
|||
|
|
流程:读架构 → 确认工单属于哪一层 → 理解WHY → 带着WHY开发/审核
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
✅ 录册A02已接单 · 2026-04-26T12:30+08:00
|
|||
|
|
|
|||
|
|
✅ 开发完成 · 2026-04-26T12:40+08:00 · 已推送至 feat/gmp-agent-e2e-test · commit e384d9d
|
|||
|
|
|
|||
|
|
✅ 自检通过 · 状态已更新为待审查
|
|||
|
|
|
|||
|
|
**架构认知**: GMP-Agent位于分发层[D-1] · WHY=人格体需要模块管理系统 · GitHub是厨房(开发) · 模块注册中心是餐厅(分发) · GMP-Agent是餐厅的服务员(生命周期管理)
|