首页/开发/CI/CD 与发布速查/部署频率(Deployment Frequency)
质量门禁与回滚51 条

部署频率(Deployment Frequency)

单位时间内成功发布到生产的次数,反映交付吞吐;统计要点是先定义清一次部署与生产的边界,并按需单列回滚事件。

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

部署频率是什么

部署频率(Deployment Frequency)统计单位时间内成功发布到生产的次数,反映交付吞吐,是 DORA 四项交付指标之一,与变更前置时间共同描述流动速度。统计前必须先固定口径三件事:一次部署按什么事件计(一次发布事件还是每个制品);回滚事件是否单列(建议单列,避免用回滚抬高频率);多环境是否只统计生产(预发不计入)。最可靠的数据来源是发布/部署系统的事件流或流水线成功记录,其次是打部署标记(tag、部署记录表);人工填报最容易遗漏和美化,只能作为过渡手段。

基本信息

口径成功进入生产的发布次数,按天或周统计
采集部署系统事件、流水线成功记录、部署标记
影响因素批量大小、分支策略、自动化程度
改善方向减小批次、提升自动化、提前质量反馈
联动指标与前置时间、变更失败率一起看,防单指标失真

典型使用场景

  • 建立基线:先测量现状再定改进目标,避免拍脑袋承诺频率。
  • 从月到周:减小发布批次是提升频率的主抓手,需求拆小后自然变快。
  • 瓶颈诊断:频率低且前置时间长,通常卡在评审等待与固定发布窗口。
  • 对外汇报:用趋势而非单点数字说明交付能力变化,配合质量指标一起讲。
  • 质量联防:频率上升时盯住失败率与恢复时长,防止靠超额发布掩盖质量问题。
  • 自动化采集:用部署事件表替代手工统计,保证口径一致、可追溯。

从部署事件表统计

从部署事件表统计
SELECT date_trunc('week', deployed_at) AS wk,
       COUNT(*) AS deploys
FROM deploy_events
WHERE environment = 'prod' AND status = 'success'
GROUP BY 1 ORDER BY 1;  -- 回滚单列: 加 event_type 过滤

口径决策点

议题选项建议
计数对象发布事件 / 每个制品按团队发布单元固定一种
回滚计入 / 单列单列,防止频率虚高
环境只算生产 / 含预发只算生产
时间粒度按天 / 按周按周看趋势更稳定
频率高低本身不是目标:拆分无意义部署刷数字没有价值,指标要与质量指标成对解读。
Accelerate 研究显示高频小批量与稳定性可以同时出现:小批次本身降低单次变更的风险暴露。
在发布脚本里回调部署事件接口或写记录表,让数据自动产生,比事后补账可靠得多。

易错点

  • 口径漂移:有时按事件有时按制品,趋势失真;用文档固定口径并写进看板说明。
  • 人工填报:遗漏与美化并存,与流水线数据对不上;优先自动采集,手工仅作过渡。
  • 只看频率不看失败率:用回滚与热修堆数字,质量下滑被掩盖;组合指标一起看。
  • 把 CI 运行次数当部署:流水线运行不等于生产发布;按环境与结果过滤。
  • 回滚不记录:频率虚高且复盘缺依据;单列回滚事件并纳入统计。

数据来源与参考

  • DORA《Accelerate State of DevOps Report》
  • Google Cloud(DevOps tech: deployment frequency)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌