Files
orbit/docs/reports/phase-8-console-e2e.md

36 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 首次部署与控制台任务闭环
这份回归验证 Orbit 从空数据库开始的第一条可运行链路:迁移、初始化管理员、启动服务、控制台登录、任务提交、Worker WebSocket 执行、结果回传、控制台查询、明确失败重试和定时计划。
最近一次验证:2026-09-22,本机 Docker Desktop、MySQL 8.4、Go 1.27.1;结果为 `console-e2e=passed`。Worker 成功确认 3 个任务,重试场景完成 2 次尝试,定时计划完成 2 次触发,控制台读取到 6 个成功任务,登出后业务 API 返回 401。
## 一键执行
在仓库根目录运行:
```sh
make console-e2e
```
脚本会创建一次性 Docker 网络、MySQL 容器和 Orbit 容器。所有应用、队列、凭据和管理员账号只写入临时数据库;脚本退出后删除容器、网络和临时文件,不连接已有本地数据库。
## 验收内容
| 阶段 | 验证内容 |
| --- | --- |
| 空库初始化 | 使用 `orbit-migrate up` 创建当前迁移链,数据库从零开始 |
| 管理员初始化 | `orbit-admin bootstrap` 同事务创建业务资源、Worker/计划权限和首个控制台管理员 |
| 服务启动 | Docker 启动 Orbit,`/health/ready` 返回就绪 |
| 控制台登录 | HttpOnly 会话登录,受保护页面和默认队列配置可读取 |
| WS 执行 | Go SDK 自动 Worker 通过 `pulse.worker.v1` 接收 3 个任务并确认结果 |
| 可靠重试 | 第一次明确失败且可重试,第二次执行成功,历史包含 2 次尝试 |
| 定时任务 | 计划生成固定版本任务,Worker 执行成功且来源为 `SCHEDULE` |
| 页面数据 | 控制台权限范围内能读取成功任务 |
| 退出保护 | 登出后业务 API 返回 401,会话不能继续调用任务接口 |
通过时输出 `console-e2e=passed`。脚本中的密码只保存在临时文件并通过标准输入交给初始化命令,不打印到日志。
## 生产边界
这是一条功能和发布前置回归,不是生产容量结论。生产环境还必须按[交付核对清单](../release-checklist.md)验证 TLS 终止、备份恢复、复制切换、容量、RPO/RTO 和告警通知;Worker 仍然由业务方独立部署。