Tame Dependabot :对更新进行分组,减慢节奏,保持快速安全

Dependabot使您的依赖项保持最新,但其默认值可能会使您的存储库充斥着拉取请求。以下是分组更新、减慢节奏和保持安全修复快速减少Microsoft开源项目噪音的方法。帖子Tame Dependabot :对更新进行分组,减慢cadenc...

如果你有一个活跃的存储库,你就知道这种感觉。您在星期一早上打开通知,它们有:五个, 10个,有时是十几个Dependabot拉取请求,每个请求通过单个补丁版本撞击单个依赖项。就个人而言,他们中的每一个人都很有帮助。总的来说,它们是噪音。噪音是重要的更新被忽略的程度。

我们查看了微软的GCToolkit,这是一个用于分析垃圾收集日志的开源Java库。截至2026年7月,存储库的git日志显示,其578个提交中有92个(大约六分之一)是Dependabot版本颠簸,仅在过去12个月中就有61个,有时在一天中有几个。这是在日常维护上花费的大量审查、合并和CI周期。

好消息: Dependabot已经附带了修复此问题的功能。在最近的一次拉取请求中,该项目以三种小而有意义的方式更改了dependabot.yml,将单一依赖关系拉取请求的每日滴滴转化为每个生态系统的可预测、分组、每月批次。以下是GCToolkit示例中更改的内容、其工作原理以及如何将相同模式应用于您自己的存储库。

问题:良好的默认值,错误的节奏以下是GCToolkit之前的配置: version: 2 updates: - package-ecosystem: github-actions directory: "/" schedule: interval: daily open-pull-requests-limit: 10这是一个常见的起点,但是这里的每日间隔是一个深思熟虑的选择,而不是默认的: schedule.interval是必需的, GitHub的建议起始模板每周使用一次。

有两件事会使此配置变得嘈杂: interval: daily告诉Dependabot在每个工作日(周一至周五)检查更新。对于引用少数GitHub Actions的存储库,这可能意味着在任何工作日都会出现新的拉取请求。没有分组意味着每个依赖项都会收到自己的拉取请求。10个可用更新等于10个拉取请求、10个CI运行和10个审查通知。