Files
getDomain/docs/07_domainCheck_WebLinux发布验收清单.md
Your Name ebf632e651 first
2026-04-16 21:35:47 +08:00

232 lines
5.2 KiB
Markdown

# 07 domainCheck Web/Linux 发布验收清单
## 一、文档定位
本文档用于回答两个问题:
1. 当前这套 Web/Linux 方案,到底哪些项已经验过
2. 发布前还需要按什么维度再核一遍
阅读建议:
- 想看测试服真实联调结果,优先看 `docs/13_domainCheck_Linux测试服交接文档.md`
- 想看正式上线前最后一次操作顺序,优先看 `docs/14_domainCheck_正式上线前最终检查单.md`
本文档更适合作为“发布验收维度总表”。
## 二、基础连通验收
以下项目应视为发布验收的第一层:
- `domaincheck-api` 已启动
- `domaincheck-worker` 已启动
- `http://127.0.0.1:8100/health` 返回 `status=ok`
- `/health` 返回 `worker_mode=linux-systemd`
- `/api/v1/runtime/preflight` 返回 `ok=true`
- `/api/v1/runtime/status` 返回 `worker.running=true`
当前测试服状态:
- 已验证通过
## 三、Web 后台验收
### 1. 运行与展示
- 登录正常
- 顶部状态可展示 `API / Worker / 运行模式`
- 概览页可正常读取统计
- 运行中心可正常读取:
- API 版本
- API 前缀
- PID
- Worker 进程数
- 自检结果
### 2. 配置能力
- 系统设置可正常读取
- 线程数可修改并保存
- 检测顺序可调整并保存
- 代理池列表可编辑并保存
- `worker_mode / worker_service_name / api_service_name` 可保存
- 可手动创建配置备份
- 可下载配置备份
- 可导出配置快照
- 可导入配置快照
- 导入配置时会自动生成导入前备份
当前测试服状态:
- 核心接口与配置链路已验证通过
## 四、业务能力验收
发布前建议至少覆盖下面 5 类能力:
- 导入
- 列表筛选
- 批量更新
- 导出
- 日志与诊断
### 1. 导入链路
- 导入任务可创建
- 导入任务列表可刷新
- 导入结果统计正确
- 导入成功后会写入 `domains`
- 导入成功后会自动创建 `detect_tasks`
当前测试服状态:
- 已使用样本 TXT 实际验证通过
- 当前已确认:
- 总数 `5`
- 有效 `3`
- 新增 `3`
- 无效 `2`
### 2. 列表与筛选
- 域名列表可查询
- 筛选项接口正常返回
- 页面结果与数据库记录一致
当前测试服状态:
- 已验证通过
### 3. 批量更新
- 批量更新接口可执行
- 页面展示与数据库字段一致
- 关联检测字段会同步更新
当前测试服状态:
- 已验证通过
- 已确认 `backlink_count_gt_10` 可随批量更新同步生效
### 4. 导出链路
- 导出任务可创建
- 导出记录可查看
- 导出文件可下载
- TXT / CSV 至少一种格式已回归
当前测试服状态:
- TXT、CSV 均已验证通过
### 5. 日志与诊断
- 日志接口可正常读取
- 诊断包可正常导出
当前测试服状态:
- 已验证通过
- 当前已生成正式服务态诊断包:
- `/opt/domaincheck/diagnostics/diag_20260416_134923.tar.gz`
## 五、Linux 特有项验收
以下项目是 Web/Linux 交付里最容易在正式环境出问题的部分:
- `domaincheck-api.service` 可正常启动/停止
- `domaincheck-worker.service` 可正常启动/停止
- `journalctl` 可查看两边日志
- 运行中心可调用 `start_worker / stop_worker / restart_api`
- Worker 以 `QT_QPA_PLATFORM=offscreen` 正常运行
- API 自重启不会再因为同步等待自身停机而误报 `500`
当前测试服状态:
- 已验证通过
## 六、数据库与权限验收
Linux 新环境发布前,下面两项必须显式确认:
### 1. 数据库初始化
如果 PostgreSQL 使用的是新库,必须先执行:
```bash
cd /opt/domaincheck/domainCheck
python3 init_database.py
```
否则至少这些接口会直接失败:
- `/api/v1/dashboard/overview`
- `/api/v1/detect/status`
- `/api/v1/imports/summary`
### 2. 服务用户写权限
正式 `systemd` 服务用户必须可写:
- `domain-api/runtime/`
- `domainCheck/detect_worker.log`
否则可能出现:
- `/api/v1/imports/upload` 返回 `500`
- Worker 循环重启
当前测试服状态:
- 两项都已实际踩坑并修复
## 七、发布前建议命令
### 1. 健康检查
```bash
curl http://127.0.0.1:8100/health
curl http://127.0.0.1:8100/api/v1/runtime/preflight
curl http://127.0.0.1:8100/api/v1/runtime/status
```
### 2. systemd 状态
```bash
systemctl status domaincheck-api --no-pager -l
systemctl status domaincheck-worker --no-pager -l
```
### 3. smoke test
```bash
cd /opt/domaincheck/domain-api/deploy/linux
python3 smoke_test.py --base-url http://127.0.0.1:8100
```
如需同时校验 Web 首页:
```bash
python3 smoke_test.py --base-url http://127.0.0.1:8100 --web-url http://127.0.0.1
```
### 4. 诊断包导出
```bash
cd /opt/domaincheck/domain-api/deploy/linux
bash collect_diagnostics.sh /opt/domaincheck
```
## 八、当前发布验收结论
结合当前 Linux 测试服已经完成的联调结果,可以给出下面的结论:
- Web 管理后台已达到可交付状态
- Linux 正式 `systemd` 服务态已验证通过
- 核心业务链路已完成最小闭环回归
- 当前剩余工作主要是正式环境发布、灰度观察和持续稳定性观察
一句话结论:
> 当前项目已经通过 Web/Linux 发布所需的核心验收项,后续重点不再是功能开发,而是正式环境收口与上线后观察。