Files
ProjectAGiPrompt/18-基础架构及交付部署特战队/1-项目部署-管理/claude-dds.md
2026-03-18 16:16:47 +08:00

21 KiB
Raw Blame History

项目部署管理 — 金山多维表格方案优化分析与完善文档

文档版本: v1.0
日期: 2026-03-06
目的: 基于初始需求,对现有金山多维表格方案进行 需求覆盖分析 → 缺口识别 → 优化建议 → 完善方案输出


一、初始需求回顾与拆解

根据 项目部署管理.md 的原始需求,可以拆解为以下 6 大核心诉求

# 核心诉求 关键细节
R1 项目部署信息表(行业组 / 交付人员填写) 必须包含部署必要条件等信息
R2 项目部署台账 / 甘特图视图 日历/列表双视图,支持可视化部署排期
R3 部署排期表功能 行业组能一目了然查看项目状态、部署进度
R4 部署基本信息记录 项目名称、版本、时间、状态、人员、结果
R5 工具要求 富文本、附件上传、客户端简洁免安装
R6 远期目标 最终在 RMDC 系统中实现

二、现有方案覆盖分析

2.1 覆盖矩阵

需求编号 需求摘要 现有方案覆盖情况 覆盖评级
R1 部署信息表(行业组填写) 项目基本信息表 + 升级信息表 基本覆盖
R2 甘特图/日历视图 ⚠️ 方案中未明确提及视图配置 未覆盖
R3 部署排期进度可视化 ⚠️ 部署状态表有状态字段,但缺少排期/进度可视化设计 部分覆盖
R4 部署基本信息记录 部署状态表包含核心字段 基本覆盖
R5 富文本/附件/免安装 金山多维表格天然支持 完全覆盖
R6 远期 RMDC 集成 ⚠️ 未涉及数据迁移/API 对接规划 未覆盖

2.2 覆盖得分: 约 60%

Warning

现有方案在 数据建模层面 做得比较扎实(表结构、关联关系设计合理),但在 视图层面、流程自动化、权限管控、用户体验 方面存在明显缺口。


三、逐项差距分析与优化建议

3.1 🔴 甘特图 / 日历视图R2 — 未覆盖)

问题: 初始需求明确要求 "甘特图类似" 的部署台账和日历展示,但现有方案仅定义了表结构,未设计任何视图。

优化建议:

  1. 在「项目本地化部署状态表」上创建以下视图

    视图名称 视图类型 用途 关键配置
    部署排期甘特图 甘特视图 直观展示每个部署任务的时间跨度 开始时间=部署开始时间,结束时间=部署结束时间,分组=部署状态
    部署日历 日历视图 按日查看部署安排 日期字段=部署开始时间,颜色=按部署状态区分
    全部部署列表 表格视图 默认列表,全量信息查看 默认按创建时间倒序
    进行中部署 表格视图(筛选) 仅展示"部署中"的任务 筛选: 部署状态=部署中
    我的部署任务 表格视图(筛选) 部署人员查看自己的任务 筛选: 部署人=当前用户
  2. 甘特图配置要点

    • 横轴: 时间线(按周/按月切换)
    • 纵轴: 每个部署任务为一行
    • 颜色编码: 排期中=灰色, 部署中=蓝色, 部署完成=绿色, 部署异常=红色
    • 支持拖拽调整部署时间段

3.2 🔴 部署排期与进度可视化R3 — 部分覆盖)

问题: 行业组需要"一目了然"查看部署进度,但现有方案缺少:

  • 进度百分比的概念
  • 部署阶段的细化
  • 可视化仪表盘

优化建议:

  1. 细化部署状态枚举(从 3 个扩展为 6 个):

    原方案: 排期中 → 部署中 → 部署完成
    优化后: 待排期 → 已排期 → 环境准备中 → 部署中 → 验证中 → 已完成
    

    补充异常状态:部署异常 / 已暂停 / 已取消

  2. 新增「部署进度」公式字段

    • 类型: 公式字段
    • 逻辑: 根据关联子表的填写完成度自动计算百分比
    • 示例公式:
      进度 = (环境信息已填 × 25% + 网络信息已填 × 25% + 中间件信息已填 × 25% + 业务信息已填 × 25%)
      
  3. 新增仪表盘视图(金山多维表格支持):

    • 部署状态分布饼图
    • 本月部署任务数柱状图
    • 平均部署耗时趋势线
    • 各状态任务数统计卡片

3.3 🟡 项目基本信息表优化R1 — 需完善)

现有问题:

  1. 缺少「部署必要条件」相关字段(初始需求明确要求)
  2. 省份/城市二级联动在多维表格中难以实现级联
  3. 缺少项目紧急程度/优先级字段(影响排期)

优化建议:

在「项目基本信息表」中 新增以下字段

字段名 字段类型 说明
部署优先级 单选 P0-紧急 / P1-高 / P2-中 / P3-低
期望部署日期 日期 行业组期望的上线时间
部署必要条件说明 多行文本(富文本) 描述部署前置条件VPN 准备、服务器交付、License 等
必要条件是否满足 单选 是 / 否 / 部分满足
条件不满足说明 多行文本 记录哪些条件未满足
项目类型 单选 新部署 / 升级 / 迁移 / 扩容
省份 单选 保持下拉选择
城市 文本 改为文本输入(多维表格暂不支持级联选择,备注关联省份)
特殊要求备注 多行文本(富文本) 任何非标准化的部署需求

3.4 🟡 项目本地化部署升级信息表优化

现有问题:

  1. 与基本信息表字段重复度高,且缺少升级场景的特有字段
  2. 缺乏升级版本号的变更记录(从什么版本升级到什么版本)

优化建议:

字段名 字段类型 说明
项目名称 关联字段 关联「项目基本信息表」而非文本匹配
升级类型 单选 全量升级 / 增量升级 / 热修复 / 回滚
当前版本(飞服) 文本 升级前的版本号
目标版本(飞服) 文本 升级后的版本号
当前版本(监管) 文本 升级前的版本号
目标版本(监管) 文本 升级后的版本号
升级影响评估 多行文本(富文本) 本次升级是否需要停机、预计影响范围
回滚方案 多行文本(富文本) 升级失败时的回滚策略
期望升级时间窗口 日期范围 允许升级的时间窗口

3.5 🟡 项目本地化部署状态表优化(核心锚表)

现有问题:

  1. 状态粒度过粗(仅 3 个状态)
  2. 缺少部署结果字段(成功/失败)
  3. 「部署时长」应为自动计算而非手动填写
  4. 缺少部署关联的来源类型标识(是首次部署还是升级)

优化建议:

字段名 字段类型 说明
部署编号 自动编号 唯一标识,格式如 DEPLOY-2026-0001
来源类型 单选 首次部署 / 升级部署
关联项目 关联字段 → 项目基本信息表
关联升级记录 关联字段 → 项目本地化部署升级信息表(当来源类型=升级时)
部署状态 单选 待排期 / 已排期 / 环境准备中 / 部署中 / 验证中 / 已完成 / 部署异常 / 已暂停 / 已取消
部署结果 单选 成功 / 失败 / 部分成功
部署优先级 引用字段 从项目基本信息表引用
计划开始时间 日期时间 排期时确定
计划结束时间 日期时间 排期时确定
实际开始时间 日期时间 开始部署时记录
实际结束时间 日期时间 部署完成时记录
部署时长(小时) 公式 = 实际结束时间 - 实际开始时间(自动计算)
部署进度 公式 基于关联子表填写状态自动计算
命名空间 文本(唯一) K8s Namespace
部署人 成员 使用成员字段而非文本
部署人电话 引用字段 从成员信息自动引用
备注 多行文本(富文本)

3.6 🟡 项目部署环境信息表优化

现有问题:

  1. 关联方式写了 todo,未明确
  2. SSH 密码标记为"不允许填写",但未说明密码如何管理
  3. 缺少主机状态字段

优化建议:

改动 说明
关联方式 通过「所属部署」关联字段 → 部署状态表(已在方案中提及,需明确为关联字段类型)
新增「主机状态」 单选: 待交付 / 已交付 / 已初始化 / 运行中 / 异常
新增「操作系统」 单选: CentOS 7 / CentOS 8 / Ubuntu 20.04 / Ubuntu 22.04 / 其他
新增「GPU信息」 文本(如有 GPU 需求的项目)
敏感信息处理 SSH 密码字段 → 建议改为「密码存储方式」单选 (密码管理器/加密文档/其他),实际密码不存入多维表格
新增「主机标签」 多选: 可标记主机用途组合

3.7 🟡 项目部署中间件信息表优化

现有问题:

  1. "每行一个中间件实例,固定 7 个" — 这意味着每次部署需手动创建 7 行,效率低
  2. 缺少中间件版本信息
  3. 缺少中间件健康状态

优化建议:

改动 说明
新增「中间件版本」 文本,如 MySQL 8.0.32, Redis 7.0 等
新增「部署方式」 单选: 容器化 / 主机部署 / 云服务
新增「所在主机」 关联字段 → 项目部署环境信息表(明确中间件运行在哪台主机上)
新增「管理后台地址」 URL 类型(如 RabbitMQ/NACOS/K8S Dashboard 的管理界面)
自动化创建 建议通过多维表格的「表单模板」或「自动化」功能,在新建部署时自动创建 7 条中间件记录

3.8 🔴 权限与角色设计(未覆盖)

问题: 原始需求中有明确的角色分工(行业组填写 vs 特战队填写),但现有方案未设计权限体系。

优化建议 — 权限矩阵:

表名 行业组人员 交付部署特战队 小组长
项目基本信息表 ✏️ 可编辑 👁️ 只读 ✏️ 可编辑
部署升级信息表 ✏️ 可编辑 👁️ 只读 ✏️ 可编辑
部署状态表 👁️ 只读 ✏️ 可编辑 ✏️ 可编辑
部署环境信息表 🚫 不可见 ✏️ 可编辑 ✏️ 可编辑
部署网络信息表 🚫 不可见 ✏️ 可编辑 ✏️ 可编辑
部署中间件信息表 🚫 不可见 ✏️ 可编辑 ✏️ 可编辑
部署业务信息表 🚫 不可见 ✏️ 可编辑 ✏️ 可编辑
项目信息汇总表 👁️ 只读 (部分) 👁️ 只读 👁️ 只读
仪表盘 👁️ 只读 👁️ 只读 ✏️ 可编辑

实施方式:

  • 金山多维表格支持「协作者权限」和「字段级权限」
  • 对行业组使用 表单视图 提交信息,限制其只能填写特定字段
  • 敏感字段(密码类)设置为仅管理员查看

3.9 🔴 自动化流程设计(未覆盖)

问题: 方案中提到了"自动化触发"的概念,但未设计具体的自动化规则。

优化建议 — 自动化规则清单:

# 触发条件 执行动作 说明
A1 新建「项目基本信息」记录 自动在「部署状态表」创建一条记录(状态=待排期) 首次部署自动关联
A2 新建「升级信息」记录 自动在「部署状态表」创建一条记录(来源类型=升级,状态=待排期) 升级部署自动关联
A3 「部署状态」变更为"部署中" ① 自动记录「实际开始时间」 ② 检查「环境信息表」是否已填(否则阻止切换) 状态守卫
A4 「部署状态」变更为"已完成" ① 自动记录「实际结束时间」 ② 检查网络/中间件信息是否已填 ③ 自动计算部署时长 完成守卫
A5 「部署状态」变更为"部署异常" 发送通知给小组长和部署人 异常告警
A6 新建「部署状态」记录 自动创建 7 条中间件记录模板 减少手动操作
A7 「部署优先级」为 P0 且超过 24h 未排期 发送催办通知 优先级预警

注意: 金山多维表格的「自动化」功能支持上述大部分规则,但 状态守卫A3/A4 的条件检查阻止切换) 可能需要通过 AirScript 脚本 实现,建议优先验证此能力。


3.10 🟡 通知机制设计(未覆盖)

通知场景 通知对象 通知方式
新部署需求提交 特战队全员 多维表格通知 + 企微/飞书机器人
部署排期确认 行业组提交人 多维表格通知
部署状态变更 行业组提交人 + 部署人 多维表格通知
部署异常 小组长 + 部署人 多维表格通知 + 企微/飞书机器人
部署超时预警 小组长 多维表格通知

四、完善后的表结构总览

4.1 ER 关系图

erDiagram
    PROJECT_INFO["项目基本信息表"] {
        string 项目名称
        string 行业组人员
        string 电话
        string 省份
        string 城市
        enum 部署优先级 "P0-P3"
        date 期望部署日期
        text 部署必要条件说明
        enum 必要条件是否满足
        enum 项目类型
        file 部署资源信息
    }

    UPGRADE_INFO["部署升级信息表"] {
        ref 项目名称 "关联项目基本信息"
        enum 升级类型
        string 当前版本_飞服
        string 目标版本_飞服
        string 当前版本_监管
        string 目标版本_监管
        text 升级影响评估
        text 回滚方案
        daterange 期望升级窗口
        file 部署资源信息
    }

    DEPLOY_STATUS["部署状态表(核心锚表)"] {
        auto 部署编号
        enum 来源类型
        enum 部署状态
        enum 部署结果
        ref 部署优先级 "引用"
        datetime 计划开始时间
        datetime 计划结束时间
        datetime 实际开始时间
        datetime 实际结束时间
        formula 部署时长
        formula 部署进度
        string 命名空间
        member 部署人
        text 备注
    }

    ENV_INFO["部署环境信息表"] {
        string 公网IP
        bool 能否访问公网
        string 内网IP
        int SSH端口
        string SSH用户名
        enum 主机功能
        enum 主机状态
        enum 操作系统
        int CPU核心数
        string CPU型号
        string 内存大小
        string 系统盘大小
        string 数据盘大小
        string GPU信息
        text 备注
    }

    NET_INFO["部署网络信息表"] {
        string 访问地址
        bool 是否开启SSL
        text 端口信息说明
        enum 网络环境
        enum 主机管理方式
        string 管理后台地址
        string VPN下载地址
        text 备注
    }

    MIDDLEWARE_INFO["部署中间件信息表"] {
        enum 中间件类型
        string 中间件版本
        enum 部署方式
        bool 是否暴露公网
        string 公网端口
        string 内网IP
        string 内网端口
        string 用户名
        string 管理后台地址
    }

    BIZ_INFO["部署业务信息表"] {
        string 微服务名称
        string 微服务分支
        string 微服务镜像
        string 微服务版本
        enum 部署状态
    }

    PROJECT_INFO ||--o{ DEPLOY_STATUS : "触发创建"
    UPGRADE_INFO ||--o{ DEPLOY_STATUS : "触发创建"
    UPGRADE_INFO }o--|| PROJECT_INFO : "关联"
    DEPLOY_STATUS ||--o{ ENV_INFO : "1:N 关联"
    DEPLOY_STATUS ||--o{ NET_INFO : "1:N 关联"
    DEPLOY_STATUS ||--o{ MIDDLEWARE_INFO : "1:N 关联"
    DEPLOY_STATUS ||--o{ BIZ_INFO : "1:N 关联"
    ENV_INFO ||--o{ MIDDLEWARE_INFO : "所在主机"

4.2 多视图设计一览

graph LR
    A["部署状态表"] --> B["表格视图 - 全量列表"]
    A --> C["甘特视图 - 部署排期"]
    A --> D["日历视图 - 按日查看"]
    A --> E["看板视图 - 按状态分列"]
    A --> F["表单视图 - 行业组提交入口"]
    A --> G["仪表盘 - 统计概览"]
    
    style C fill:#4CAF50,color:#fff
    style D fill:#2196F3,color:#fff
    style E fill:#FF9800,color:#fff
    style G fill:#9C27B0,color:#fff

五、行业组用户体验优化

5.1 提交入口设计

行业组人员不应直接操作表格,而应通过 表单视图 提交部署需求,降低使用门槛。

行业组填写流程:
┌─────────────────────────────────────┐
│   部署需求提交表单(表单视图)         │
│                                     │
│   ① 选择: 新部署 / 升级              │
│   ② 填写项目基本信息                 │
│   ③ 上传部署资源附件                 │
│   ④ 填写必要条件说明                 │
│   ⑤ 选择优先级                      │
│   ⑥ 填写期望部署日期                │
│   ⑦ 提交                            │
│                                     │
│   → 自动触发创建部署状态记录          │
│   → 自动通知特战队                   │
└─────────────────────────────────────┘

5.2 查询入口设计

行业组查询流程:
┌─────────────────────────────────────┐
│   部署进度看板(看板视图)            │
│                                     │
│   待排期  │  已排期  │  部署中  │  已完成  │
│   ┌───┐  │  ┌───┐  │  ┌───┐  │  ┌───┐  │
│   │P01│  │  │P03│  │  │P02│  │  │P05│  │
│   │P04│  │  │   │  │  │   │  │  │P06│  │
│   └───┘  │  └───┘  │  └───┘  │  │P07│  │
│          │         │         │  └───┘  │
│                                     │
│   点击卡片 → 查看部署详情            │
│   包含: 状态、部署人、进度、时间线    │
└─────────────────────────────────────┘

六、敏感信息安全策略

信息类型 处理方式 说明
SSH 密码 不存入多维表格 使用密码管理器(如 1Password / Vault单独管理
管理后台密码 不存入多维表格 同上
VPN 账号密码 不存入多维表格 同上
公网 IP ⚠️ 字段权限控制 仅特战队和小组长可见
内网 IP ⚠️ 字段权限控制 仅特战队和小组长可见

安全提醒: 金山多维表格作为在线协作工具,严禁在表格中存储任何明文密码。建议统一使用 密码管理平台 管理所有凭据,表格中仅存储「密码存储路径/编号」的引用。


七、远期 RMDC 集成规划

7.1 数据迁移路径

graph LR
    A["金山多维表格(当前方案)"] -->|API导出| B["数据清洗 ETL"]
    B -->|API导入| C["RMDC系统(远期目标)"]
    
    A -->|阶段1| D["业务验证期 跑通流程"]
    D -->|阶段2| E["模板固化期 优化表结构"]
    E -->|阶段3| C

7.2 设计原则

  • 字段命名规范化: 当前表格的字段命名应与 RMDC 数据库 Schema 保持一致,降低迁移成本
  • 状态枚举统一: 部署状态的枚举值应提前定义常量表,一致对齐
  • API 预留: 利用金山多维表格的开放 API定期将数据同步到内部数据库备份

八、实施计划

阶段 时间 内容 交付物
Phase 1 第 1 周 创建优化后的表结构 + 基础视图 7 张数据表 + 5 个视图
Phase 2 第 2 周 配置自动化规则 + 权限设置 自动化规则 7 条 + 权限矩阵
Phase 3 第 3 周 创建表单入口 + 仪表盘 表单视图 2 个 + 仪表盘 1 个
Phase 4 第 4 周 试运行 + 收集反馈 + 调整 试运行报告
Phase 5 持续 RMDC 集成设计 + 数据迁移准备 迁移方案文档

九、总结

现有方案的优点

  1. 数据建模思路正确 — 以部署状态表为核心锚表的设计符合一对多关系
  2. 表结构划分合理 — 环境、网络、中间件、业务分表管理,职责清晰
  3. 关联关系设计到位 — 子表通过「所属部署」字段关联核心表

需要重点补强的方面 🔧

  1. 视图层面 — 必须增加甘特图、日历、看板、仪表盘视图(核心差距)
  2. 流程自动化 — 状态变更触发、自动化创建、通知机制
  3. 权限管控 — 不同角色的数据可见性和可编辑性
  4. 用户体验 — 行业组通过表单提交,看板查询进度
  5. 安全策略 — 敏感信息不入表,统一密码管理
  6. 状态精细化 — 部署状态从 3 个细化到 6+3 个,增加部署结果字段
  7. 远期集成 — 提前规划 RMDC 数据迁移路径