Skip to main content

为存储库配置自动依赖项提交

可使用自动依赖项提交来提交存储库中的可转移依赖项数据。 这使您能够使用依赖项关系图分析这些可转移依赖项。

谁可以使用此功能?

具有管理员角色的存储库所有者、组织所有者、安全管理员和用户

先决条件

必须为存储库启用依赖项关系图才能启用自动依赖项提交。

还必须为存储库启用 GitHub Actions 才能使用自动依赖项提交。 有关详细信息,请参阅“管理存储库的GitHub Actions设置”。

注意

对于支持 Dependabot 图形作业的生态系统,无需启用自动依赖项提交。 Dependabot 为存储库启用依赖项关系图时,图形作业会自动运行,它们优先于自动依赖项提交。 请参阅“依赖项图如何识别依赖项”。

启用自动依赖项提交

存储库管理员可以按照此过程所述的步骤为存储库启用或禁用自动依赖项提交。

组织所有者可使用安全配置为多个存储库启用自动依赖项提交。 有关详细信息,请参阅“删除自定义安全配置”。

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

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

    存储库标头的屏幕截图,其中显示了选项卡。 “设置”选项卡以深橙色边框突出显示。

  3. 在边栏的“Security”部分中,单击“ Advanced Security”****。

  4. 在“依赖项关系图”下,单击“自动依赖项提交”旁边的下拉菜单,然后选择已启用

为存储库启用自动依赖项提交后, GitHub 将:

  • 监视向仓库的推送。
  • 针对仓库中的所有清单文件,执行与对应包生态系统关联的依赖项关系图生成操作。
  • 根据结构执行自动依赖项提交操作。

可以通过查看存储库的操作选项卡来查看有关自动工作流运行的详细信息。

注意

在您启用自动依赖项提交后,系统将自动运行相关操作。 启用后,每当默认分支上的提交更新清单文件时,它都会自动运行。

访问专用注册表

使用 Dependabot 机密

对于支持 Dependabot 图形作业的生态系统,可以在组织或存储库级别使用Dependabot秘密配置对专用注册表的访问。

当图形作业遇到无法通过配置的机密访问的专用包时 Dependabot ,这些包会从依赖项关系图中正常省略,而不会导致失败。

有关配置专用注册表访问的详细信息,请参阅 为 Dependabot 配置对专用注册表的访问权限

使用自托管运行器

可以将 自承载运行程序 配置为运行自动依赖项提交作业,而不是使用 GitHub Actions 基础结构。 要访问不支持Dependabot图形作业的生态系统中的私有注册表,或者当您的注册表只能从您的网络内部访问时,这是必需的。 自托管运行器必须在 Linux 或 macOS 上运行。 对于.NET和Python的自动提交功能,必须能够访问公共互联网才能下载组件检测的最新发布版本。

  1. 在存储库或组织级别预配一个或多个自托管运行器。 有关详细信息,请参阅 自托管运行程序添加自托管的运行器
  2. 为希望自动依赖项提交使用的每个运行器分配 dependency-submission 标签。 有关详细信息,请参阅“将标签与自托管运行程序结合使用”。
  3. 在边栏的“Security”部分中,单击“ Advanced Security”****。
  4. 在“依赖项关系图”下,单击“自动依赖项提交”旁边的下拉菜单,然后选择 为标记的运行程序启用

启用后,自动依赖项提交作业将在自托管运行器上运行,除非:

  • 自托管运行器不可用。
  • 没有任何使用 dependency-submission 标签标记的运行器组。

注意

对于使用自托管运行器和 Maven 专用注册表的 Maven 或 Gradle 项目,需要修改 Maven 服务器的设置文件,以便依赖项提交工作流可以连接到这些注册表。 有关 Maven 服务器设置文件的详细信息,请参阅 Maven 文档中的安全性和部署设置

有关网络允许列表 URL、较大的运行器配置、故障排除详细信息和包生态系统特定信息,请参阅 自动依赖项提交

延伸阅读