如何让Dependabot仅为安全更新触发

19

我正在使用 GitHub 的 dependabot.yml,版本 2。

version: 2
updates:
  # Nuget Packages
  - package-ecosystem: "nuget"
    directory: "/"
    schedule:
      interval: "monthly"
我正在尝试弄清楚是否有可能进行配置,使得依赖项仅在包含安全修复程序的情况下进行更新,就像版本1一样。

我正在尝试弄清楚是否有可能进行配置,使得依赖项仅在包含安全修复程序的情况下进行更新,就像版本1一样。

version: 1
update_configs:
 - package_manager: "dotnet:nuget"
   directory: "/"
   update_schedule: "monthly"
   allowed_updates:
     - match:
       update_type: "security"

如果你有同样的问题,请让我知道你是如何解决的。

谢谢。

4个回答

14
根据 GitHub 支持中心的说法,您可以在 dependabot.yml 文件中将未处理的拉取请求数量设置为 0。
open-pull-requests-limit: 0

这意味着它只会创建安全更新。


1
这个答案是不正确的。如果你将拉取请求限制设置为0,它会阻止dependabot引发任何带有以下错误的PR:Dependabot无法再打开更多的拉取请求 已超过打开的拉取请求限制。当前限制为:0。 一旦您合并或关闭已经打开的拉取请求,Dependabot将会打开新的拉取请求。您也可以在配置文件中更新此限制。 - Marian Bazalik
@MarianBazalik 您是正确的,错误确实出现了,但根据我的经验,它仍会为安全更新打开PR。 - leeb
我已经明确测试过了,但是我没有收到任何PR的提出 :(. 我有一个仓库,其中只有一个安全问题被dependabot识别。这个问题可以通过简单地升级版本(遵守semver)来解决,但是dependabot什么也没做 :( - Marian Bazalik
4
文档似乎与@leeb一致: “此选项对安全更新没有影响,安全更新有一个单独的内部限制,最多可以打开十个拉取请求。”(来自https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#open-pull-requests-limit) - CleanUp
1
@leeb 所以我再次测试了一下,是的,你是正确的。但是,无论 dependabot 配置如何,都会创建 PR,这是来自 dependabot 安全更新的。您需要启用它,如果该机制发现安全问题,它将尝试通过提出 semver bump PR 自动解决它。 - Marian Bazalik

4

是的,我遇到了同样的问题,后来发现类似这个GitHub社区的帖子

我记得我在哪里看到过这个。当使用市场上原始的dependabot时,有一个配置选项仅执行安全更新。我已经在我的一个存储库中设置了这个选项。现在,在原始dependabot中有一个选项,可以使用在原始dependabot中配置的设置生成一个dependabot.yml配置文件(以帮助过渡到使用dependabot.yml)。当我为只启用了安全更新的存储库执行此操作时,我收到以下消息:

您正在使用不受支持的功能 该存储库已配置仅扫描安全更新。不支持使用新的配置文件配置安全更新。相反,您可以从存储库安全设置页面启用Dependabot安全更新18。

听起来在dependabot v2中,他们将安全更新分离成UI配置,这就像GitHub行动密码一样糟糕。但是看起来您不再需要dependabot来配置依赖项的安全补丁。

如果这有所帮助,请告诉我。


我也看到了那个线程。是的,似乎不可能配置 Dependabot 仅跟踪安全补丁。谢谢! - Kseniia Pelykh
1
完全有可能,但你不再需要dependabot配置了。 - chenrui
1
@chenrui如何在没有Dependabot的情况下跟踪安全性? - Ilya Palkin

0

无论你做什么,都不要相信CGPT代码。它暗示allow: security是版本2中的合法答案。

Wrong answer from ChatGPT


是的,ChatGPT不能正常地执行任何操作,但它会给人一种假象。 ChatGPT就像是“男性专家服务”。不要使用它编程,也永远不要信任它。 - Eric Aya
有很多“答案”不起作用/没有意义。分享那些不起作用的东西可能值得评论,但不算是一个答案。 - Martin Thoma

-2

使用自托管的dependabot-core(更具体地说是在Argo Workflow cron工作流中运行的自定义dependabot脚本容器)是否可能实现这一点?似乎有一个名为security_updates_only的设置,但我不确定它是否用于此目的。


1
似乎有一个名为"security_updates_only"的设置,你在哪里看到的? - Martin Thoma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接