🎉 2026年1月26-27日部署完成总结
部署日期:2026-01-26 15:00 ~ 2026-01-27 08:05
总耗时:约17小时(跨2天)
部署状态:✅ 核心服务全部完成
文档日期:2026-01-27
📊 部署成果一览
服务版本对比
| 服务 |
部署前 |
部署后 |
版本提升 |
| PostgreSQL |
15 |
15 + 插件 |
新增pg_bigm/pgvector |
| Python微服务 |
v1.0 |
v1.1 |
⬆️ +1 |
| Node.js后端 |
v1.3 |
v1.7 |
⬆️ +4 |
| 前端Nginx |
v1.2 |
v1.3 |
⬆️ +1 |
内网地址变更
| 服务 |
旧IP |
新IP |
| Python |
172.17.173.66 |
172.17.173.84 ✨ |
| 后端 |
172.17.173.73 |
172.17.173.89 ✨ |
| 前端 |
172.17.173.80 |
172.17.173.90 ✨ |
✅ 核心成就
1. 数据库升级 🔴
| 成就 |
详情 |
| 插件安装 |
pg_bigm 1.2 + pgvector 0.8.0 |
| 环境分离 |
创建测试数据库 ai_clinical_research_test |
| 数据迁移 |
63个表完整迁移(17.51MB) |
| Schema同步 |
16个Schema,63个模型 |
| Prisma规范 |
统一使用Prisma管理数据库变更 |
2. 服务更新 🟡
Python微服务
- ✅ 新增pymupdf4llm(替代nougat)
- ✅ 新增openpyxl、pypandoc、python-pptx
- ✅ 镜像优化,利用Docker分层缓存
Node.js后端
- ✅ 修复pino-pretty生产环境错误
- ✅ 修复ES Module导入路径问题
- ✅ 环境变量完整更新
- ✅ 移除废弃的Redis/Dify配置
前端Nginx
- ✅ 修复Dockerfile构建(跳过TypeScript检查)
- ✅ 代码恢复(空文件恢复)
- ✅ 环境变量更新
🔧 解决的关键问题
| 序号 |
问题 |
严重程度 |
解决方案 |
| 1 |
大量空文件 |
🔴 严重 |
从本地备份恢复 |
| 2 |
Prisma Schema不一致 |
🔴 严重 |
prisma db pull 同步 |
| 3 |
pino-pretty错误 |
🔴 严重 |
条件加载(根据NODE_ENV) |
| 4 |
ES Module导入错误 |
🔴 严重 |
添加.js扩展名 |
| 5 |
TypeScript类型错误 |
🟡 中等 |
跳过类型检查,部署优先 |
| 6 |
网络构建失败 |
🟡 中等 |
重试构建,使用阿里云镜像源 |
📚 文档产出
| 文档 |
说明 |
价值 |
00-0126部署总体计划.md |
部署计划和顺序 |
⭐⭐⭐⭐⭐ |
01-数据库升级方案.md |
插件安装、环境分离 |
⭐⭐⭐⭐⭐ |
02-OSS环境配置方案.md |
Bucket创建、权限配置 |
⭐⭐⭐⭐ |
03-Python服务更新方案.md |
依赖更新、构建部署 |
⭐⭐⭐ |
04-后端服务部署方案.md |
Prisma、环境变量 |
⭐⭐⭐⭐ |
05-前端服务部署方案.md |
Nginx部署流程 |
⭐⭐⭐ |
06-IIT回调地址修复方案.md |
生产环境配置 |
⭐⭐⭐ |
07-0126部署状态真实记录.md |
实时部署状态 |
⭐⭐⭐⭐⭐ |
database-migration-script.ps1 |
数据库迁移自动化脚本 |
⭐⭐⭐⭐ |
../04-开发规范/09-数据库开发规范.md |
v2.0规范更新 |
⭐⭐⭐⭐⭐ |
🎓 经验教训
1. 代码管理
| 问题 |
教训 |
改进措施 |
| 大量空文件 |
Git操作或AI编辑导致 |
部署前检查git status |
| 文件丢失恢复耗时 |
缺少实时备份 |
重要操作前先commit |
2. 依赖管理
| 问题 |
教训 |
改进措施 |
| ES Module导入路径 |
Node.js ESM要求.js扩展名 |
使用linter检查 |
| TypeScript类型错误 |
阻塞构建 |
分离类型检查和构建 |
| 网络不稳定 |
npm install超时 |
使用国内镜像源 |
3. 部署流程
| 经验 |
说明 |
| ✅ Docker分层缓存 |
大幅加速构建(代码变更72秒完成) |
| ✅ 环境变量重要性 |
服务间互相依赖,IP变更需同步 |
| ✅ 部署优先策略 |
跳过类型检查,确保快速部署 |
| ✅ 文档详细记录 |
问题排查和知识沉淀 |
📋 当前系统配置速查
数据库连接(测试环境)
服务内网地址
公网访问
OSS配置(测试环境)
🔜 待完成任务
| 任务 |
优先级 |
预计时间 |
| IIT回调地址配置 |
🔴 高 |
30分钟 |
| 功能全面测试 |
🔴 高 |
2小时 |
| TypeScript类型修复 |
🟡 中 |
3小时 |
| 性能测试 |
🟢 低 |
1小时 |
| 监控告警配置 |
🟢 低 |
1小时 |
📞 后续维护
日常更新流程
关键注意事项
- ⚠️ IP变更影响:每次部署后检查IP是否变化,及时更新依赖服务的环境变量
- ⚠️ 环境变量同步:确保本地.env、SAE环境变量一致
- ⚠️ 数据库备份:任何Schema变更前必须备份
- ⚠️ 版本号管理:按语义化版本递增
🙏 致谢
感谢开发团队的辛勤工作,历时17小时完成了复杂的升级部署!
文档版本:v1.0
最后更新:2026-01-27 08:05
维护人员:开发团队