2026-05-24-09-58-56 恢复Docker部署并清理发布分支
This commit is contained in:
74
工程分析/实现方案-2026-05-24-09-58-56.md
Normal file
74
工程分析/实现方案-2026-05-24-09-58-56.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# 实现方案-2026-05-24-09-58-56
|
||||
|
||||
## 实现方案文档路径
|
||||
|
||||
`工程分析/实现方案-2026-05-24-09-58-56.md`
|
||||
|
||||
## 修改目标
|
||||
|
||||
- 阅读并梳理当前项目结构、技术栈、运行方式和 Docker 发布历史。
|
||||
- 恢复误删的 `Docker部署/` 文件夹。
|
||||
- 核查 Gitea 远端分支、tag 与 Release/附件关系;确认发布物仍由 tag/附件承载后,删除四个不再需要的发布辅助分支。
|
||||
- 构建并重新部署 `WebSite` 服务,验证本机与公网访问。
|
||||
- 完成工程分析记录、经验记录追加、Git/Gitea 备份提交。
|
||||
|
||||
## 涉及路径
|
||||
|
||||
- `Docker部署/`
|
||||
- `工程分析/需求分析-2026-05-24-09-58-56.md`
|
||||
- `工程分析/实现方案-2026-05-24-09-58-56.md`
|
||||
- `工程分析/测试方案-2026-05-24-09-58-56.md`
|
||||
- `工程分析/经验记录.md`
|
||||
- `WebSite/`
|
||||
|
||||
## 技术路线
|
||||
|
||||
1. 使用 `git status`、`README.md`、`WebSite/package.json`、历史工程分析文档了解项目现状。
|
||||
2. 通过 Git 历史或远端 `main` 恢复 `Docker部署/`,再核对恢复文件内容。
|
||||
3. 使用 `git ls-remote` 与 Gitea API 检查远端分支、tag、Release 和附件;发布项和附件确认存在后,删除仅用于固化发布配置的辅助分支。
|
||||
4. 执行 `npm run build` 验证前端生产构建。
|
||||
5. 使用 `tmux` 会话 `revoxelseg-dicom` 启动 `npm run serve -- --host 0.0.0.0 --port 4000`。
|
||||
6. 用健康接口、首页和公网域名做部署验证。
|
||||
7. 追加经验记录,暂存本次相关文件并提交,推送到 Gitea。
|
||||
|
||||
## 执行步骤
|
||||
|
||||
1. 记录开始时间并阅读 `代码编纂工作流.md`、`工程整体分析.md`、`经验记录.md`。
|
||||
2. 创建本次需求分析、实现方案、测试方案文档。
|
||||
3. 再次读取 `经验记录.md`,满足执行前确认要求。
|
||||
4. 恢复 `Docker部署/` 并检查 `Dockerfile`、`README.md`、本机 Compose、NAS Compose。
|
||||
5. 查询远端分支与发布 tag;若 Release 附件存在且 tag 可追溯,删除四个辅助分支。
|
||||
6. 执行构建和部署,检查端口与 tmux 会话状态。
|
||||
7. 验证 `http://127.0.0.1:4000/api/health`、`http://127.0.0.1:4000/`、`https://revoxel.huijutec.cn/`。
|
||||
8. 更新 `工程分析/经验记录.md`。
|
||||
9. `git add` 仅暂存本次相关文件,提交并推送到 Gitea。
|
||||
10. 最终汇报恢复文件、分支清理、部署验证与 commit 状态。
|
||||
|
||||
## 兼容性与回滚方案
|
||||
|
||||
- `Docker部署/` 若恢复异常,可从远端 `main` 或历史提交重新取回。
|
||||
- 远端分支删除后仍保留 tag、Release 和附件;如确需恢复,可从对应 tag 重新创建分支。
|
||||
- 部署失败时保留构建日志和 tmux 输出,必要时回退到此前可用的 Docker Compose 或旧 tmux 会话。
|
||||
- 不提交既有无关删除,避免扩大回滚范围。
|
||||
|
||||
## 预计文件变更
|
||||
|
||||
- 新增三份本次工程分析文档。
|
||||
- 恢复 `Docker部署/` 下 4 个文件。
|
||||
- 追加 `工程分析/经验记录.md`。
|
||||
- `WebSite/dist/` 可能因构建产生本地变化,但不作为本次备份提交重点。
|
||||
|
||||
## 提交与部署策略
|
||||
|
||||
- 提交信息使用:`2026-05-24-09-58-56 恢复Docker部署并清理发布分支`。
|
||||
- 暂存范围限定为本次工程分析文档、经验记录和恢复的 `Docker部署/` 文件。
|
||||
- 推送到用户提供的 Gitea 备份仓库对应 `main` 分支。
|
||||
- 部署使用 `tmux` 会话 `revoxelseg-dicom` 长期运行 `NODE_ENV=production npm run serve -- --host 0.0.0.0 --port 4000`,避免公网 Host 被 Vite 开发中间件拦截。
|
||||
- 公网访问另起 `revoxelseg-dicom-frpc` 容器,使用 host 网络把本机 `127.0.0.1:4000` 映射到 FRP 服务端 `10008`。
|
||||
|
||||
## 执行补充记录
|
||||
|
||||
- 初次按普通 `npm run serve` 启动后,本机 `/api/health`、`/` 与公网 API 正常,但公网根路径返回 `403 Blocked request. This host ("revoxel.huijutec.cn") is not allowed.`。
|
||||
- 原因是非生产模式会进入 Vite 中间件,Vite 对公网 Host 做 allowedHosts 校验。
|
||||
- 已改为 `NODE_ENV=production` 启动,服务直接返回 `WebSite/dist/` 生产构建产物。
|
||||
- 当前公网链路由 `tmux` Web 服务加独立 `revoxelseg-dicom-frpc` 容器组成。
|
||||
Reference in New Issue
Block a user