docs: 记录开发服务器整改基线部署与回滚点

This commit is contained in:
weijuesen
2026-08-14 19:23:20 +08:00
parent 3d49c032b9
commit d089eed8d7
3 changed files with 57 additions and 1 deletions
+25
View File
@@ -1183,3 +1183,28 @@ UPDATE cameras SET gb_channel_id = '44010201001320000001' WHERE gb_device_id = '
- 数据库备份:`/home/pan/backups/silk-20260813-234221.dump`
- 旧二进制:`/home/pan/silk/server-go/server-go-linux.bak-20260813-234221`
- 回滚步骤:恢复旧二进制并重启,或先 `pg_restore` 恢复数据库备份;开发服务器无 git 仓库,不依赖 git tag。
---
## 2026-08-14 整改 Task 0-14 基线部署
### 变更内容
- 将 Task 0~14 整改基线合并到 `dev_wjs` 并部署到开发服务器;
- Go 后端、Web、AI 服务均切换到最新制品;
- 后端迁移到 `schemaVersion=8`,新增检测任务、样本、发病事件、生物安全、通知/Outbox、治理/效果等表;
- 修复 Outbox worker 阻塞 HTTP 启动问题:`outbox.Start` 改为后台 goroutine。
### 验证结果
- 数据库备份:`/home/pan/backups/silk-20260814-191754.dump`
- Go `/api/v1/health` 200、Web `:5174` 200、AI `/health` 200
- 新路由未登录返回 401,确认路由已注册;
- 默认 admin 登录失败,待提供有效管理员凭据后补做登录态接口冒烟。
### 回滚点
- Go 旧二进制:`/home/pan/silk/server-go/server-go-linux.pre-20260814-191754`
- Web 旧目录:`/home/pan/silk/web/dist.pre-20260814-191754`
- AI 旧目录:`/home/pan/ai-service/app.pre-20260814-191754`
- 数据库回滚:`pg_restore` 恢复 `/home/pan/backups/silk-20260814-191754.dump`
+1 -1
View File
@@ -22,7 +22,7 @@
| Wave 3 | 业务闭环 | Task 11 实现小程序离线巡检与可靠同步 | 部分可用 | 待开发服务器迁移部署与开发者工具离线/重启联调 |
| Wave 3 | 业务闭环 | Task 12 完善环境规则、会诊治理、知识审核与效果评估 | 部分可用 | 待开发服务器迁移部署与专家/试点联调 |
| Wave 4 | 验收与发布 | Task 13 建立可观测性、容量与恢复验证 | 部分可用 | 待真实环境负载/备份恢复演练与告警通道联调 |
| Wave 4 | 验收与发布 | Task 14 建立规格追踪、端到端验收与发布门禁 | 部分可用 | 已合并 dev_wjs;待开发服务器部署、E2E、恢复演练 |
| Wave 4 | 验收与发布 | Task 14 建立规格追踪、端到端验收与发布门禁 | 部分可用 | 开发服务器部署;待登录态冒烟、E2E、恢复演练 |
## 技术选型决策(2026-08-11 确定)
+31
View File
@@ -1200,3 +1200,34 @@ MVP 沿用 IoTDB(现状);TDengine 作为生产规模化候选(先基准
- 合并回滚:`dev_wjs` 可回到 `1b8cab1`(合并前基线);
- 后续部署需在服务器先打 `pre-<timestamp>` tag、备份数据库,再上传二进制和 `web/dist`
## 2026-08-14 开发服务器部署(整改基线)
### 做了什么
- 完成 `dev_wjs` 整改基线首次开发服务器部署;
- 数据库已全量备份:`/home/pan/backups/silk-20260814-191754.dump`
- Go 后端已切换到修复后二进制,schema 迁移到 `schemaVersion=8`Web 和 AI 服务已同步更新;
- 部署中发现并修复 `outbox.Start` 阻塞主流程问题:改为后台 goroutine,提交 `3d49c03`
### 设计思路与决策依据
- 服务器应用目录无 git 仓库,采用二进制和 `web/dist` 制品部署,并在覆盖前保留旧制品;
- 数据库涉及多批 schema 变更,部署前先执行 `pg_dump`,满足回滚要求;
- AI 服务继续 mock 模式,部署前保留原 `app` 目录以便回滚。
### 验证结果
- Go `/api/v1/health` 200Web `:5174` 200AI `/health` 200
- 新路由未登录返回 401`/detection-tasks``/disease-events``/ops/metrics``/health-profiles/:id/effect``POST /biosecurity/qr/resolve`
- 后端日志显示 `schemaVersion=8` 和正常启动,无 panic
- IoTDB 仍不可用并降级 PostgreSQL,属部署前已知状态;
- 默认 admin 登录失败,未做需登录的新接口全量冒烟。
### 回滚点
- 数据库:`/home/pan/backups/silk-20260814-191754.dump`
- Go 旧二进制:`/home/pan/silk/server-go/server-go-linux.pre-20260814-191754`
- Go 修复前问题二进制:`/home/pan/silk/server-go/server-go-linux.broken-20260814-1921`
- Web 旧目录:`/home/pan/silk/web/dist.pre-20260814-191754`
- AI 旧目录:`/home/pan/ai-service/app.pre-20260814-191754``tests.pre-20260814-191754`