Files
AIclinicalresearch/docs/05-部署文档/0126部署/08-部署完成总结.md
HaHafeng 2481b786d8 deploy: Complete 0126-27 deployment - database upgrade, services update, code recovery
Major Changes:
- Database: Install pg_bigm/pgvector plugins, create test database
- Python service: v1.0 -> v1.1, add pymupdf4llm/openpyxl/pypandoc
- Node.js backend: v1.3 -> v1.7, fix pino-pretty and ES Module imports
- Frontend: v1.2 -> v1.3, skip TypeScript check for deployment
- Code recovery: Restore empty files from local backup

Technical Fixes:
- Fix pino-pretty error in production (conditional loading)
- Fix ES Module import paths (add .js extensions)
- Fix OSSAdapter TypeScript errors
- Update Prisma Schema (63 models, 16 schemas)
- Update environment variables (DATABASE_URL, EXTRACTION_SERVICE_URL, OSS)
- Remove deprecated variables (REDIS_URL, DIFY_API_URL, DIFY_API_KEY)

Documentation:
- Create 0126 deployment folder with 8 documents
- Update database development standards v2.0
- Update SAE deployment status records

Deployment Status:
- PostgreSQL: ai_clinical_research_test with plugins
- Python: v1.1 @ 172.17.173.84:8000
- Backend: v1.7 @ 172.17.173.89:3001
- Frontend: v1.3 @ 172.17.173.90:80

Tested: All services running successfully on SAE
2026-01-27 08:13:27 +08:00

5.7 KiB
Raw Blame History

🎉 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个Schema63个模型
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变更需同步
部署优先策略 跳过类型检查,确保快速部署
文档详细记录 问题排查和知识沉淀

📋 当前系统配置速查

数据库连接(测试环境)

DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research_test?connection_limit=18&pool_timeout=10

服务内网地址

Python:  http://172.17.173.84:8000
后端:    http://172.17.173.89:3001
前端:    http://172.17.173.90:80

公网访问

CLB:   http://8.140.53.236/
域名:   https://iit.xunzhengyixue.com/

OSS配置测试环境

OSS_BUCKET=ai-clinical-data-dev
OSS_BUCKET_STATIC=ai-clinical-static-dev
OSS_INTERNAL=true
OSS_ACCESS_KEY_ID=LTAI5tBHkL39GjdLfcr77Y3f

🔜 待完成任务

任务 优先级 预计时间
IIT回调地址配置 🔴 30分钟
功能全面测试 🔴 2小时
TypeScript类型修复 🟡 3小时
性能测试 🟢 1小时
监控告警配置 🟢 1小时

📞 后续维护

日常更新流程

1. 修改代码
2. npm run build后端/ npx vite build前端
3. docker build -t service:v1.x .
4. docker push 到ACR
5. SAE控制台选择新版本部署
6. 验证功能

关键注意事项

  1. ⚠️ IP变更影响每次部署后检查IP是否变化及时更新依赖服务的环境变量
  2. ⚠️ 环境变量同步:确保本地.env、SAE环境变量一致
  3. ⚠️ 数据库备份任何Schema变更前必须备份
  4. ⚠️ 版本号管理:按语义化版本递增

🙏 致谢

感谢开发团队的辛勤工作历时17小时完成了复杂的升级部署


文档版本v1.0
最后更新2026-01-27 08:05
维护人员:开发团队