公司动态
软件制品管理学习笔记(三)制品生命周期与历史治理
学习用途用于制品库规划、历史数据治理目录一、制品生命周期管理解决什么问题二、制品生命周期是什么三、中间制品和正式制品应分类管理四、典型问题一CI 中间制品持续增长处理建议五、典型问题二正式版本不能只按时间清理六、典型问题三下载记录缺少次数和用途信息七、典型问题四下载记录不能代表实际生产使用八、典型问题五正式制品不适合直接自动删除职责划分九、常见治理问题汇总十、通用生命周期治理方案10.1 生命周期治理需要哪些数据10.2 生命周期治理的判断流程10.3 生命周期治理的核心判断十一、总结一、制品生命周期管理解决什么问题制品库初期主要解决软件包统一存储问题。随着 CI 持续运行制品数量和存储占用不断增加管理重点会逐步转向哪些制品需要保留哪些可以退出以及依据什么进行判断。例如一个项目每天构建 20 次每次产生约 300 MB 制品理论上一年产生20 × 300 MB × 365 ≈ 2.19 TB /年实际空间占用还会受到压缩、去重和清理策略影响但持续构建带来的历史数据增长是长期存在的问题。制品类型 当前状态 时间 使用情况 发布/交付关系二、制品生命周期是什么一个制品从产生到退出大体经历以下阶段阶段管理重点产生Commit、Build、Version、来源存储分类、容量、Checksum使用下载人员、次数、用途验证Test、UAT、RC 状态发布正式版本、发布时间、目标环境保留实际使用情况、回退要求退出是否仍有生产或交付关系清理责任确认、执行和留痕三、中间制品和正式制品应分类管理不同制品的用途、价值和保留要求不同应采用不同的生命周期策略。类型典型示例特点管理方式中间制品Snapshot、CI Build、测试版本、UAT 候选版本、临时镜像数量多、产生频率高、使用周期短控制数量、保留周期和清理规则正式制品Release、生产版本、正式交付版本、故障回退版本数量较少、影响范围大、保留要求高保证可追溯、可获取并受控退出四、典型问题一CI 中间制品持续增长持续集成可能不断产生中间制品Build #101 → #102 → #103 → #104 → ……→ #500其中真正进入正式发布的可能只有 #126、#235、#410。若所有 Build 长期保留会积累大量使用价值较低的过程制品。处理建议规则维度示例时间保留最近 30 天数量保留最近 20 次 Build使用情况长期未使用的制品进入待清理范围特殊保护RC、故障定位版本、人工指定版本单独保留规则筛选 → 识别保护对象 → 形成候选范围 → 执行处理中间制品适合更多采用规则化和自动化治理。五、典型问题二正式版本不能只按时间清理正式制品即使创建时间较早也可能仍有保留价值。以已存在两年的 V1.2.0 为例实际情况处理判断正在生产环境运行保留客户仍在使用保留当前故障回退版本保留长期维护项目正式版本保留最近仍有发布、下载或交付记录进一步确认已退出使用且责任方确认不再需要可进入清理流程正式制品不能只看创建时间应综合创建时间、最近使用时间、当前状态、发布记录、交付记录和项目状态。中间制品更多关注 Age Count正式制品更需要关注 Usage Release Business。六、典型问题三下载记录缺少次数和用途信息仅记录“是否下载过”不足以支撑生命周期判断。更有价值的使用记录应包含信息作用最近下载时间判断近期是否仍有使用行为下载次数判断使用频率下载用途判断测试、部署、交付、排障等实际用途下载人员支持后续追溯和责任确认制品最近下载次数最近用途当前状态初步判断制品 A2026-0818生产部署正式版本仍有明确使用价值制品 B2026-073问题排查历史正式版本暂不适合按时间清理制品 C2024-051测试验证临时测试版本可进入清理候选下载用途可统一为测试验证、UAT、生产部署、客户交付、问题排查、其他。生命周期判断应结合下载时间 下载次数 下载用途。七、典型问题四下载记录不能代表实际生产使用下载行为和实际部署属于不同类型的信息。某个制品最近被下载不代表正在生产运行生产环境中的稳定版本也可能长期没有重新下载。记录类型内容作用下载记录下载人员、时间、次数、用途判断访问和使用情况发布记录Version、发布时间、目标环境判断实际部署情况交付记录Version、交付对象、时间、批次判断业务交付关系下载记录与部署/发布记录应通过制品版本、Artifact ID 或 Checksum 建立关联条件允许时可在同一系统统一记录。判断正式制品是否仍在使用时应结合发布和交付关系而不能仅根据下载行为推断。八、典型问题五正式制品不适合直接自动删除系统通常能够识别创建时间、文件大小、下载次数、最近使用时间和当前状态等技术数据但这些数据不能完全说明正式制品是否仍具有业务价值。数据统计 → 规则筛选 → 待清理候选 → 责任方确认 → 执行清理职责划分角色职责平台侧数据统计、规则筛选、候选清单、清理能力和操作留痕项目/责任方确认实际使用状态、判断正式版本是否继续保留、确认清理范围技术上长期未使用 ≠ 业务上已经没有价值。九、常见治理问题汇总问题风险建议所有制品使用相同保留周期正式版本可能被误清理中间版本长期堆积按类型和状态制定策略只按创建时间判断无法识别仍在使用的历史版本结合使用、发布和交付把无人下载当作无人使用可能误判稳定运行的生产版本下载记录与部署记录关联管理结合制品版本判断实际使用状态正式版本自动删除技术数据无法完全判断业务价值先形成候选由责任方确认只清理磁盘不治理生命周期空间释放后仍会再次无序增长建立分类、状态和保留规则十、通用生命周期治理方案针对前述典型问题通用治理可从数据基础、判断流程、责任边界和治理能力四个方面建立。10.1 生命周期治理需要哪些数据数据维度典型字段用途身份项目、制品名称、Version、类型、Checksum确认制品身份容量Size分析存储占用时间创建时间、上传时间、最近下载时间判断生命周期使用下载次数、下载人员、下载用途判断实际使用情况状态中间、测试、RC、正式区分管理策略发布发布环境、发布时间、部署版本判断实际部署情况交付交付对象、交付时间、交付批次判断业务使用关系这些数据最终用于回答这个制品是否仍具有保留价值。10.2 生命周期治理的判断流程生命周期治理可以简化为三个步骤分类、判断、处理。10.3 生命周期治理的核心判断中间制品和正式制品分类管理。正式制品不能只按创建时间判断。下载时间、次数和用途反映使用情况并应与部署/发布记录关联判断。平台负责提供数据和候选范围正式制品退出需要责任方确认。十一、总结制品生命周期管理的核心问题不是“如何删除历史制品”而是如何判断一个制品是否仍具有保留价值。制品类型 当前状态 时间 使用情况 发布/交付关系中间制品适合通过时间、数量和使用规则进行治理正式制品需要结合生产部署、项目状态、交付关系和回退要求进行判断。让制品从产生、使用、发布到退出均有明确状态和判断依据使存储增长可观察、历史版本可追溯、正式制品可受控管理。