Files
AIclinicalresearch/docs/05-部署文档/0126部署/00-0126部署总体计划.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

9.7 KiB
Raw Permalink Blame History

🚀 AI临床研究平台 - 2026年1月26日部署计划

文档版本v1.0
创建日期2026-01-26
计划部署日期2026-01-26 ~ 2026-01-28
上次部署日期2025-12-251个月前
文档目的:梳理本次部署的所有变更项,制定部署顺序和计划


📋 一、部署变更总览

本次部署涉及的主要变更

序号 变更项 类型 优先级 详细文档
1 PostgreSQL数据库升级 基础设施 🔴 P0 01-数据库升级方案.md
2 OSS存储环境分离 基础设施 🔴 P0 02-OSS环境配置方案.md
3 Python微服务更新 服务更新 🟡 P1 03-Python服务更新方案.md
4 Node.js后端更新 服务更新 🟡 P1 04-后端服务部署方案.md
5 前端Nginx更新 服务更新 🟡 P1 05-前端服务部署方案.md
6 IIT回调地址修复 配置变更 🟢 P2 06-IIT回调地址修复方案.md

🔄 二、当前状态 vs 目标状态

2.1 当前部署状态2025-12-25部署

服务 版本 内网地址 最后更新
PostgreSQL 15 RDS 2025-12-24
前端Nginx v1.2 172.17.173.80:80 2026-01-01
Node.js后端 v1.3 172.17.173.73:3001 2025-12-25
Python微服务 v1.0 172.17.173.66:8000 2025-12-24

公网访问

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

2.2 目标部署状态2026-01-26部署后

服务 目标版本 主要变更
PostgreSQL 15 + 插件 添加pg_bigm、pgvector插件测试/生产数据库分离
前端Nginx v1.3 大量UI更新
Node.js后端 v1.4 IIT模块、ASL模块、DB Schema变更
Python微服务 v1.1 添加pypdf、pypandoc

📊 三、详细变更清单

3.1 数据库变更 🔴

变更内容

  1. 新增PostgreSQL插件

    • pg_bigm:全文检索增强
    • pgvector向量存储RAG支持
  2. 数据库环境分离

    • 测试数据库ai_clinical_research_testSAE测试环境使用
    • 生产数据库ai_clinical_research(生产环境使用)
  3. Schema变更

    • Prisma Schema需要添加 iit_schema当前未在schemas数组中
    • 新增表IIT模块5个表已存在但需验证同步
    • 可能有其他表结构变更

风险评估🔴 高风险 - 数据库变更需要仔细操作

3.2 OSS存储变更 🔴

变更内容

  1. 开发环境Bucket

    • ai-clinical-data-dev:开发数据存储
    • ai-clinical-static-dev:开发静态资源
  2. 生产环境Bucket

    • ai-clinical-data:生产数据存储
    • ai-clinical-static:生产静态资源
  3. 新增环境变量

    OSS_BUCKET=ai-clinical-data              # 数据Bucket
    OSS_BUCKET_STATIC=ai-clinical-static     # 静态资源Bucket
    OSS_INTERNAL=true                        # SAE使用内网
    

风险评估🟡 中风险 - 需要创建新Bucket并配置权限

3.3 Python服务变更 🟡

变更内容

  1. 新增依赖

    • pypdfPDF处理增强
    • pypandoc:文档格式转换
  2. 确认已移除

    • nougat-ocr已在12月24日移除

镜像版本v1.0 → v1.1

风险评估🟡 中风险 - 需要重新构建镜像

3.4 Node.js后端变更 🟡

变更内容

  1. 代码更新

    • IIT Manager Agent模块完善
    • ASL文献筛选模块更新
    • DC数据清洗模块更新
    • 其他功能更新
  2. Prisma Schema更新

    • 需要执行 prisma db push 或迁移
  3. 环境变量更新

    • OSS相关变量更新
    • 可能需要新增其他变量

镜像版本v1.3 → v1.4

风险评估🟡 中风险 - 需要确保Schema同步

3.5 前端Nginx变更 🟡

变更内容

  1. 代码更新
    • IIT Manager Agent前端
    • ASL文献筛选UI
    • DC数据清洗UI
    • 其他UI更新

镜像版本v1.2 → v1.3

风险评估🟢 低风险 - 前端更新相对独立

3.6 IIT回调地址修复 🟢

变更内容

  1. 问题描述

    • 当前使用natapp内网穿透https://devlocal.xunzhengyixue.com/api/v1/iit/patient-wechat/callback
    • 需要改为生产环境:https://iit.xunzhengyixue.com/api/v1/iit/patient-wechat/callback
  2. 需要修改的位置

    • 企业微信后台回调URL配置
    • 微信服务号后台回调URL配置
    • 代码中的硬编码地址(如有)
    • 相关文档中的地址

风险评估🟢 低风险 - 配置变更


📅 四、部署顺序与计划

阶段1基础设施准备Day 1上午

步骤 任务 预计时间 负责人
1.1 备份当前RDS数据库 30分钟 DBA
1.2 安装pg_bigm、pgvector插件 30分钟 DBA
1.3 创建测试数据库 15分钟 DBA
1.4 创建OSS新Bucket 15分钟 运维
1.5 配置OSS RAM权限 15分钟 运维

阶段2Python服务更新Day 1中午

步骤 任务 预计时间 负责人
2.1 更新requirements-prod.txt 5分钟 开发
2.2 本地构建Docker镜像 15分钟 开发
2.3 推送镜像到ACR 10分钟 开发
2.4 SAE部署新版本 10分钟 运维
2.5 验证Python服务 5分钟 开发

阶段3Node.js后端更新Day 1下午

步骤 任务 预计时间 负责人
3.1 更新Prisma Schema 10分钟 开发
3.2 执行数据库迁移 10分钟 开发
3.3 本地编译TypeScript 5分钟 开发
3.4 构建Docker镜像 15分钟 开发
3.5 推送镜像到ACR 10分钟 开发
3.6 更新SAE环境变量 10分钟 运维
3.7 SAE部署新版本 10分钟 运维
3.8 验证后端服务 10分钟 开发

阶段4前端Nginx更新Day 1傍晚

步骤 任务 预计时间 负责人
4.1 构建Docker镜像 10分钟 开发
4.2 推送镜像到ACR 5分钟 开发
4.3 更新SAE环境变量如需 5分钟 运维
4.4 SAE部署新版本 5分钟 运维
4.5 验证前端服务 5分钟 开发

阶段5IIT回调配置Day 1晚间

步骤 任务 预计时间 负责人
5.1 更新企业微信回调URL 10分钟 运维
5.2 更新微信服务号回调URL 10分钟 运维
5.3 验证回调功能 10分钟 开发

阶段6全面验证Day 2

步骤 任务 预计时间 负责人
6.1 功能全面测试 2小时 测试
6.2 性能检查 30分钟 开发
6.3 日志检查 30分钟 运维
6.4 文档更新 1小时 开发

📝 五、部署检查清单

5.1 部署前检查

  • 确认RDS数据库可访问
  • 确认ACR镜像仓库可登录
  • 确认SAE控制台可访问
  • 确认OSS控制台可访问
  • 确认企业微信后台可访问
  • 确认微信服务号后台可访问
  • 本地Docker环境就绪
  • 备份当前数据库

5.2 部署后检查

  • RDS插件安装成功pg_bigm、pgvector
  • 测试数据库创建成功
  • OSS新Bucket创建成功
  • Python服务健康检查通过
  • Node.js后端健康检查通过
  • 前端Nginx服务正常
  • 企业微信回调验证通过
  • 微信服务号回调验证通过
  • 完整业务流程测试通过

⚠️ 六、风险与回滚计划

6.1 风险评估

风险项 概率 影响 应对措施
数据库迁移失败 备份恢复
Prisma Schema不兼容 回滚Schema
OSS权限问题 检查RAM策略
服务内网地址变更 更新环境变量
企业微信回调失败 检查配置

6.2 回滚计划

Python服务回滚

# 在SAE控制台选择旧版本 v1.0 重新部署

Node.js后端回滚

# 在SAE控制台选择旧版本 v1.3 重新部署

前端回滚

# 在SAE控制台选择旧版本 v1.2 重新部署

数据库回滚

# 使用RDS自动备份恢复

📚 七、相关文档索引

部署操作文档

参考文档


📞 八、联系方式

  • 项目负责人:开发团队
  • DBA:待指定
  • 运维:待指定
  • 紧急联系:待指定

提示:本文档为部署总体计划,具体操作步骤请参考各子文档
最后更新2026-01-26
下次更新:部署完成后