首页/开发/CI/CD 与发布速查/制品晋级(Promotion)
构建与制品管理58 条

制品晋级(Promotion)

把验证过的制品从快照区复制/提升到发布区:晋级是「移动引用」而不是重新构建,保留完整校验链路。

CI/CD 与发布速查开发更新于 2026-10-13

制品晋级是什么

把验证过的制品从快照区提升到发布区:晋级是「移动引用」而不是重新构建,字节不变、只改变所在仓库与标签,完整保留校验链路。常见方式有仓库间复制、标签重打与制品库的 promotion API;每次晋级都留日志:谁、何时、从哪到哪、制品摘要是多少。

基本信息

方式仓库间复制、标签重打、元数据标记(promotion API)
原则字节不变,只改变所在仓库与标签
记录晋级日志:人、时间、来源、目标、制品摘要
门禁绑定只有通过全部检查的构建才允许进入发布区
回滚基础发布区保留旧版本制品,回滚才有目标可退

典型使用场景

  • 预发验证后晋级:预发跑通的同一制品提升到发布区
  • 多环境推进:快照区、预发区、发布区逐级提升
  • 权限治理:发布区写权限只给晋级通道,不给日常构建
  • 审计取证:按晋级日志回答何时放的、谁批的
  • 回滚准备:发布区保留近若干版本,支持快速回退
  • 合规交付:晋级记录与检查结果随制品归档

docker 方式

docker 方式
docker pull registry.example.com/snapshots/app:1.8.0
docker tag registry.example.com/snapshots/app:1.8.0 registry.example.com/releases/app:1.8.0
docker push registry.example.com/releases/app:1.8.0

链路四环节

环节动作要点
构建产出快照制品带校验摘要
验证在预发验证同一制品不改字节
晋级复制引用到发布区写晋级日志
部署按摘要或语义标签部署核对一致性
晋级通道与质量门禁绑定:只有通过全部检查的构建才允许进入发布区。
区分「晋级」与「发布」:晋级是把制品放进发布区,发布是让它生效,两者可以解耦。

落地要点

  • 晋级即复制:在制品库内移动引用,不经过本地磁盘
  • 摘要校验:晋级前后核对 digest 一致
  • 权限分离:构建只有快照区写权限,晋级通道才碰发布区
  • 通知留痕:晋级动作通知相关方并记录在发布单
  • 定期演练:按晋级记录找回历史版本验证可恢复

易错点

  • 晋级时重新构建:验证结论作废,链路断裂,必须复制同一摘要
  • 发布区不设写权限:任何流水线都能直推,晋级门形同虚设,收紧权限
  • 用可变标签晋级:latest 之类标签晋级后指代漂移,用不可变摘要或版本号
  • 快照与发布区生命周期失衡:快照被过早清理导致晋级链路断档
  • 晋级后不核对摘要:复制出错无法发现,脚本输出前后 digest 比对

数据来源与参考

  • JFrog Artifactory 文档(Promotion)
  • Humble & Farley《Continuous Delivery》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌