跳至主要内容

关于 GitHub Actions 运行器上的 Dependabot

如果您已为存储库启用了 GitHub Actions,则 GitHub 会自动运行生成 Dependabot 拉取请求的作业。

谁可以使用此功能?

默认情况下,对于已启用 GitHub Actions 的所有存储库,都启用了 GitHub Actions 上的 Dependabot。

关于 GitHub Actions 运行器上的 Dependabot

如果您在新的存储库上启用 Dependabot 并启用了 GitHub Actions,则 Dependabot 将默认在 GitHub Actions 上运行。

如果您在新的存储库上启用 Dependabot 并禁用了 GitHub Actions,则 Dependabot 将在 GitHub 中的旧版应用程序上运行以执行 Dependabot 更新。这不会像 GitHub Actions 那样提供良好的性能、可见性或对 Dependabot 更新作业的控制。如果您想将 Dependabot 与 GitHub Actions 结合使用,则必须确保您的存储库启用了 GitHub Actions,然后从存储库的“代码安全性和分析”设置页面启用“Actions 运行器上的 Dependabot”。

注意

GitHub 的未来版本将始终使用 GitHub Actions 运行 Dependabot,并且您将不再可以选择启用或禁用此设置。

使用 GitHub Actions 运行器使您能够更轻松地识别 Dependabot 作业错误并手动检测和解决失败的运行。您还可以通过使用 GitHub Actions API 和 Webhook 来检测 Dependabot 作业状态(例如失败的运行)并执行下游处理,从而将 Dependabot 集成到您的 CI/CD 管道中。有关更多信息,请参阅“GitHub Actions 的 REST API 端点”和“Webhook 事件和有效负载”。

提示

在 GitHub 托管的运行器和自托管的运行器上运行 Dependabot **不会**计入您包含的 GitHub Actions 分钟数。有关更多信息,请参阅“关于 GitHub Actions 的计费”。

您可以使用以下方法在 GitHub Actions 上运行 Dependabot

  • GitHub 托管的运行器
  • 大型运行器。这些运行器由 GitHub 托管,并具有高级功能,例如更多 RAM、CPU 和磁盘空间。有关更多信息,请参阅“使用大型运行器”。
  • 自托管的运行器

注意

Dependabot 不支持将私有网络与 Azure 虚拟网络 (VNET) 或 Actions 运行器控制器 (ARC) 结合使用。

在 GitHub Actions 上启用 Dependabot 可能会增加帐户中运行的并发作业数。如有必要,企业计划的客户可以请求更高的并发作业限制。有关更多信息,请联系我们通过 GitHub 支持门户 或联系您的销售代表。

如果您正在迁移到在 GitHub Actions 运行器上使用 Dependabot,并且限制了对组织或存储库的私有资源的访问,则可能需要更新允许的 IP 地址列表。例如,如果您当前将对私有资源的访问限制为 Dependabot 使用的 IP 地址,则应更新您的允许列表以使用从元 API 端点获取的 GitHub 托管运行器 IP 地址。有关更多信息,请参阅“元数据 REST API 端点”。

在 GitHub 托管运行器上启用或禁用 Dependabot

本节仅适用于标准 GitHub 托管运行器,不适用于大型运行器。

您在用户帐户或组织中创建的新存储库将自动配置为在 GitHub Actions 上运行 Dependabot,如果满足以下任何条件

  • Dependabot 已安装并启用,并且 GitHub Actions 已启用并正在使用。
  • 组织的“GitHub Actions 运行器上的 Dependabot”设置已启用。

对于现有存储库,您可以选择加入在 GitHub Actions 上运行 Dependabot,如下所示。

GitHub 的未来版本将删除禁用在 GitHub Actions 上运行 Dependabot 的功能。

如果您限制了对组织或存储库的私有资源的访问,则可能需要在启用 GitHub Actions 运行器上的 Dependabot 之前更新允许的 IP 地址列表。您可以更新您的 IP 允许列表以使用从元数据REST API 端点获取的 GitHub 托管运行器 IP 地址(而不是 Dependabot IP 地址)。

警告

您不应依赖 GitHub Actions IP 地址进行私有注册表的身份验证。这些 GitHub Actions 地址不仅由 GitHub 使用,也不应被信任用于身份验证。相反,请使用自托管运行器以确保更好地控制您的网络访问。有关更多信息,请参阅“在自托管运行器上管理 Dependabot”。

请注意,禁用和重新启用“GitHub Actions 运行器上的 Dependabot”设置不会触发新的 Dependabot 运行。

为您的存储库启用或禁用

您可以管理 GitHub Actions 上的 Dependabot 以用于您的公共或私有存储库。

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

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

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

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

  4. 在“Dependabot”下,在“Actions 运行器上的 Dependabot”右侧,单击启用以启用该功能,或单击禁用以禁用它。

为您的组织启用或禁用

您可以为组织中的所有现有存储库启用 GitHub Actions 上的 Dependabot。

只有具有以下配置的存储库将在下次触发 Dependabot 作业时更新为在 GitHub Actions 上运行 Dependabot。

  • 在存储库中启用了 Dependabot。
  • 在存储库中启用了 GitHub Actions。

如果组织中的存储库启用了 Dependabot 但禁用了 GitHub Actions,Dependabot 将不会在 GitHub Actions 上运行,但将继续使用内置的 Dependabot 应用程序运行。

  1. 在 GitHub 的右上角,选择您的个人资料照片,然后单击 您的组织.
  2. 在组织旁边,单击设置
  3. 在侧边栏的“安全”部分,单击 代码安全,然后全局设置
  4. 在“Dependabot”下,选择“Actions 运行器上的 Dependabot”以启用该功能,或取消选择以禁用它。

有关更多信息,请参阅“配置组织的全局安全设置”。

在大型运行器上启用或禁用 Dependabot

如果您遇到 Dependabot 超时和内存不足错误,则可能需要使用大型运行器,因为您可以将这些运行器配置为具有更多资源。

注意

您只能在组织级别启用 Dependabot 的大型运行器。GitHub 将按照常规 Actions 运行器定价向您的组织收费。有关更多信息,请参阅“关于 GitHub Actions 的计费”。

  1. 向您的组织添加一个大型运行器,并确保指定的名称为dependabot。有关更多信息,请参阅“管理大型运行器”。
  2. 选择加入组织的自托管运行器。有关更多信息,请参阅“在自托管运行器上管理 Dependabot。”此步骤是必需的,因为它确保了未来的 Dependabot 作业将在具有dependabot名称的大型 GitHub 托管运行器上运行。

管理 GitHub Actions 运行器上的 Dependabot

当运行 GitHub Actions 作业上的 Dependabot 时,您可以直接从 Dependabot 作业日志中查看工作流运行历史记录。有关更多信息,请参阅“查看 Dependabot 作业日志”。

您还可以从存储库的操作选项卡导航到 Dependabot 工作流运行。有关更多信息,请参阅“查看工作流运行历史记录”。

要重新运行 Dependabot 版本更新或 Dependabot 安全更新作业,请使用以下适当的步骤。您不能像对其他 GitHub Actions 工作流和作业那样重新运行 GitHub Actions 上的 Dependabot 作业,即通过使用存储库中的操作选项卡。您无法在组织的 GitHub Actions 使用指标中查看 Dependabot 更新工作流和作业的使用数据。

重新运行 Dependabot 版本更新作业

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

  2. 在您的存储库名称下,单击 见解.

    Screenshot of the main page of a repository. In the horizontal navigation bar, a tab, labeled with a graph icon and "Insights," is outlined in dark orange.

  3. 在左侧边栏中,单击依赖关系图

    Screenshot of the "Dependency graph" tab. The tab is highlighted with an orange outline.

  4. 在“依赖关系图”下,单击Dependabot

  5. 在您感兴趣的清单文件名称的右侧,单击最近的更新作业

  6. 在受影响的清单文件的右侧,单击检查更新以重新运行 Dependabot 版本更新作业并检查该生态系统依赖项的新更新。

重新运行 Dependabot 安全更新作业

  1. 在 GitHub 上,导航到存储库的主页。
  2. 在您的存储库名称下,单击 安全.
  3. 在左侧边栏的“漏洞警报”下,单击Dependabot
  4. 在“Dependabot”下,单击您要查看的警报。
  5. 在显示警报错误详细信息的部分,单击重试以重新运行 Dependabot 安全更新作业。

进一步阅读