跳到主要内容

配置Dependabot安全更新

您可以使用Dependabot安全更新或手动请求轻松更新易受攻击的依赖项。

关于配置可靠安全更新

您可以为任何使用Dependabot警报和依存关系图的存储库启用Dependabort安全更新。有关详细信息,请参阅“关于Dependabot安全更新."

您可以为单个存储库或个人帐户或组织拥有的所有存储库启用或禁用Dependabot安全更新。有关在组织中启用安全功能的更多信息,请参阅“确保组织安全的快速入门."

注:当为存储库启用Dependabot安全更新时,Dependabort将自动尝试打开拉入请求以解决每一个打开具有可用修补程序的Dependabot警报。如果您喜欢自定义Dependabot为哪些警报打开请求,您应该保留Dependabort安全更新禁用并创建自动变量规则。有关详细信息,请参阅“自定义自动变量规则以确定相关警报的优先级."

Dependabot和所有相关功能包含在GitHub的服务条款.

支持的存储库

如果您的个人帐户或组织已启用,GitHub会自动为新创建的存储库启用Dependabot安全更新自动启用新存储库用于Dependabot安全更新。有关详细信息,请参阅“管理存储库的Dependabot安全更新."

如果您创建的存储库分支启用了安全更新,GitHub将自动禁用该分支的Dependabot安全更新。然后您可以决定是否在特定分支上启用Dependabort安全更新。

如果您的存储库没有启用安全更新,并且您不知道为什么,请首先尝试使用下面的过程部分中给出的说明启用它们。如果安全更新仍然无效,您可以通过GitHub支持门户.

管理存储库的Dependabot安全更新

您可以为您的个人帐户或组织拥有的所有符合条件的存储库启用或禁用Dependabot安全更新。有关详细信息,请参阅“管理个人帐户的安全和分析设置“或”管理组织的安全和分析设置."

您还可以为单个存储库启用或禁用可靠安全更新。

启用或禁用单个存储库的Dependabot安全更新

  1. 在GitHub.com上,导航到存储库的主页。

  2. 在存储库名称下,单击 设置。如果看不到“设置”选项卡,请选择下拉菜单,然后单击设置.

    显示选项卡的存储库标题的屏幕截图。“设置”选项卡以深橙色轮廓突出显示。

  3. 在侧栏的“Security”部分中,单击代码安全性和分析.

  4. 在“代码安全性和分析”下的“Dependabot安全更新”右侧,单击启用启用功能或禁用禁用它。对于公共存储库,如果该功能始终处于启用状态,则该按钮将被禁用。

将Dependabot安全更新分组为单个请求

为了减少您可能看到的拉取请求的数量,您可以为存储库或组织启用分组安全更新。启用此选项后,Dependabot将为每个包生态系统将安全更新分组为一个拉请求。为了使用分组的安全更新,您必须首先启用以下功能:

注:首次启用分组安全更新时,Dependabot将立即尝试创建分组请求。您可能会注意到Dependabot正在关闭旧的拉入请求并打开新的请求。

您可以通过以下一种或两种方式启用针对Dependabot安全更新的分组请求。

  • 要跨目录和每个生态系统将尽可能多的可用安全更新组合在一起,请在组织或存储库的“代码安全性和分析”设置中启用分组。
  • 为了更精细地控制分组,例如按包名称、开发/生产依赖项或SemVer级别分组,请将配置选项添加到依赖yml存储库中的配置文件。

注:如果您在中为Dependabot安全更新配置了组规则依赖.yml文件中,所有可用的更新都将根据指定的规则进行分组。Dependabot将只在您的依赖.yml如果还启用了组织或存储库级别的分组安全更新设置。

启用或禁用单个存储库的分组Dependabot安全更新

存储库管理员可以启用或禁用其存储库的分组安全更新。更改存储库设置将覆盖所有默认组织设置。在中配置的组规则依赖yml文件将覆盖用于在组织或存储库级别启用或禁用分组安全更新的用户界面设置。

  1. 在GitHub.com上,导航到存储库的主页。

  2. 在存储库名称下,单击 设置。如果看不到“设置”选项卡,请选择下拉菜单,然后单击设置.

    显示选项卡的存储库标题的屏幕截图。“设置”选项卡以深橙色轮廓突出显示。

  3. 在侧栏的“Security”部分中,单击代码安全性和分析.

  4. 在“代码安全性和分析”下的“分组安全更新”右侧,单击启用启用功能或禁用禁用它。

启用或禁用组织的分组Dependabot安全更新

组织所有者可以启用或禁用组织中所有存储库的分组安全更新。但是,组织内的存储库管理员可以更新其存储库的设置以覆盖默认组织设置。在中配置的组规则依赖yml文件将覆盖用于在组织或存储库级别启用或禁用分组安全更新的用户界面设置。

  1. 在GitHub.com的右上角,选择您的个人资料照片,然后单击 您的组织.

    @octocat的个人资料图片下的下拉菜单截图。“您的组织”用深橙色表示。

  2. 在组织旁边,单击设置.

  3. 在侧栏的“Security”部分中,单击代码安全性和分析.

    注释

    如果您的组织注册了安全配置和全局设置公共测试版,而不是“代码安全性和分析”,您将看到“代码安全”下拉菜单。选择 代码安全性,然后单击全局设置。有关使用全局设置在组织中启用或禁用分组Dependabot安全更新的后续步骤,请参阅“为您的组织配置全局安全设置."

  4. 在“代码安全性和分析”下的“分组安全更新”右侧,单击全部禁用全部启用.

  5. (可选)要为组织中的新存储库启用分组Dependabot安全更新,请选择自动启用新存储库.

使用配置文件覆盖默认行为

您可以通过添加依赖.yml文件到您的存储库。用一个依赖.yml文件,您可以对分组进行更精细的控制,并覆盖Dependabot安全更新设置的默认行为。

使用选项应用程序到:安全更新键创建依赖项集(每个包管理器),以便Dependabot打开单个拉请求以同时更新多个依赖项。您可以按包名称(模式排除模式键),依赖项类型(依赖关系类型键)和SemVer(更新类型键)。

Dependabot按照组在您的依赖.yml文件。如果依赖项更新可能属于多个组,则仅将其分配给与其匹配的第一个组。

如果您只需要安全更新并希望排除版本更新,您可以设置开拉请求-限制0为了防止给定的包装生态系统.

有关安全更新可用配置选项的更多信息,请参阅“dependabot.yml文件的配置选项."

#配置文件示例:
#-有私人注册中心
#-忽略lodash依赖性
#-禁用版本更新
#-按包名称定义组,用于golang依赖项的安全更新

版本: 2
注册中心:
  例子:
    类型: npm注册
    网址: https://example.com
    标记: ${{secrets.NPM_TOKEN}}
更新:
  - 包装-生态系统: “npm”
    目录: “/src/npm-project”
    时间表:
      间隔: “每日”
    #对于Lodash,忽略所有更新
    忽略:
      - 依赖项名称: “洛达什”
    #禁用npm依赖项的版本更新
    开拉请求-限制: 0
    注册中心:
      - 示例-包装生态系统: “戈莫德”
    组:
      戈朗:
        应用程序到: 安全更新
        模式:
          - “golang.org*”

注:为了让Dependabot使用此配置进行安全更新目录必须是清单文件的路径,不应指定目标分支.

进一步阅读