2026-06-23-12-07-35 部署并验证局域网 4000 服务

This commit is contained in:
2026-06-23 12:11:28 +08:00
parent 60ebbf4196
commit 1e044fb349
4 changed files with 207 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
# 测试方案-2026-06-23-12-07-35
## 测试方案文档路径
`工程分析/测试方案-2026-06-23-12-07-35.md`
## 静态检查
- 检查 `WebSite/package.json` 中存在 `build``serve` 脚本。
- 检查 `WebSite/server.ts` 会解析 `--host``--port` 参数并提供 `/api/health`
- 检查本机是否包含目标网卡地址 `192.168.3.11`
- 检查当前 Git 工作区,避免提交无关变更。
## 构建检查
-`WebSite/` 执行 `npm run build`
- 如果构建失败,停止部署并记录错误。
## 关键业务场景验证
- 验证首页 HTML 可正常返回,确认前端入口可访问。
- 验证 `/api/health` 返回健康状态,确认 Express API 可用。
- 可选验证 `/api/projects` 返回项目列表,确认默认项目状态可读。
## 医学影像数据相关边界验证
- 本次仅重新部署,不修改 DICOM/STL 解析、融合、分割映射或 Mask 导出逻辑。
- 检查默认演示数据目录存在并记录数量,不生成新的医学导出文件。
- 避免将 `Head_CT_DICOM/``Head_CT_ReConstruct/``WebSite/data/``WebSite/exports/` 混入 Git 提交。
## 部署验证
- 服务命令:`npm run serve -- --host 0.0.0.0 --port 4000`
- 运行载体:`tmux` 会话 `revoxelseg-dicom`
- 端口验证:确认 `4000` 端口由当前 Node 服务监听。
- 访问验证:
- `http://127.0.0.1:4000/api/health`
- `http://127.0.0.1:4000/`
- `http://192.168.3.11:4000/api/health`
- `http://192.168.3.11:4000/`
## Git/Gitea 备份验证
- 只暂存本次工程分析三件套和 `工程分析/经验记录.md`
- 提交后用 `git show --stat --oneline HEAD` 验证 commit message 包含 `2026-06-23-12-07-35` 和部署简述。
## 风险与回归关注点
- 如果 `tmux` 会话已存在,需确认旧服务关闭后新服务能稳定启动。
- 如果局域网 IP 不属于当前机器,服务即使监听成功也无法通过目标地址访问。
- 如果只验证 localhost不能代表 `192.168.3.11` 可访问。
- 如果误提交构建产物或医学数据,会污染备份提交,需要在提交前复查 staged 文件。
## 执行结果
- `npm run lint`:通过,`tsc --noEmit` 无错误。
- `npm run build`通过Vite 成功生成 `dist/`;存在 chunk 大于 500 kB 的体积提示,不影响本次部署。
- 本机网卡:已确认 `ens34` 包含 `192.168.3.11/24`
- 端口与会话:`tmux` 会话 `revoxelseg-dicom` 已创建,`4000` 端口由当前 Node 进程监听在 `0.0.0.0:4000`
- 启动命令:`NODE_ENV=production npm run serve -- --host 0.0.0.0 --port 4000`
- `http://127.0.0.1:4000/api/health`HTTP 200返回 `ok: true`
- `http://127.0.0.1:4000/`HTTP 200返回 HTML。
- `http://192.168.3.11:4000/api/health`HTTP 200返回 `ok: true`
- `http://192.168.3.11:4000/`HTTP 200返回 HTML。
- `http://127.0.0.1:4000/api/projects`HTTP 200当前返回 2 个项目,默认项目 `head-ct-demo` 包含 300 张 DICOM 与 9 个 STL。