Skip to main content

配置 Dependabot,使其在 Internet 访问受限的情况下工作

可以配置为 Dependabot 使用专用注册表生成版本和安全更新的拉取请求(如果 GitHub Enterprise Server 访问权限有限或没有)。

关于 Dependabot 更新

可用于 Dependabot updates 修复漏洞,并将依赖项更新到最新版本 GitHub Enterprise Server。 Dependabot updates 需要 GitHub Actions 设置自承载运行程序才能 Dependabot 使用。 Dependabot警报和安全更新使用来自访问者GitHub Connect的信息GitHub Advisory Database。 有关详细信息,请参阅 管理企业中 Dependabot 更新的自托管运行器为企业启用 Dependabot

          默认情况下,Dependabot 可访问公共注册表,你可将 Dependabot 配置为还访问专用注册表。 或者,如果实例具有有限或没有 Internet 访问权限,则可以配置为 Dependabot 仅使用专用注册表作为安全和版本更新的源。 有关哪些生态系统支持作为私有注册表的详细信息,请参阅 [AUTOTITLE](/code-security/dependabot/maintain-dependencies/removing-dependabot-access-to-public-registries#about-configuring-dependabot-to-only-access-private-registries)。

以下说明假定你需要设置 Dependabot 具有以下限制的运行程序。

  • 无 Internet 访问。
  • 访问有限的内部资源,例如专用 Dependabot注册表。

限制运行程序的 Internet 访问Dependabot

在配置 Dependabot之前,请在自承载运行程序上安装 Docker。 有关详细信息,请参阅“管理企业中 Dependabot 更新的自托管运行器”。

  1. 打开 GitHub Enterprise Server,导航到 github/dependabot-action 存储库并从文件检索有关 dependabot-updaterdependabot-proxy 容器映像 containers.json 的信息。

    每个版本的GitHub Enterprise Server包括以下位置的更新containers.json文件: https://HOSTNAME/github/dependabot-action/blob/ghes-VERSION/docker/containers.json 可在以下位置查看 GitHub.com 文件的版本: containers.json

  2. 使用docker pull命令将所有容器映像从 Container registryGitHub运行程序预加载到Dependabot运行程序。 或者,预加载 dependabot-proxy 映像,然后仅预加载所需的生态系统的容器映像。

    例如,若要支持 npm, GitHub Actions 可以使用以下命令复制要从 containers.json 文件加载的映像的详细信息,以确保每个映像都具有正确的版本和 SHA。

    docker pull ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy:VERSION@SHA
    docker pull ghcr.io/dependabot/dependabot-updater-github-actions:VERSION@SHA
    docker pull ghcr.io/dependabot/dependabot-updater-npm:VERSION@SHA
    

    注意

    升级到新版本 GitHub Enterprise Server或手动更新 Dependabot 操作 GitHub.com时,需要重复此步骤。 有关详细信息,请参阅“从 GitHub.com 手动同步操作”。

  3. 将这些映像添加到运行程序后,即可限制对 Dependabot 运行程序的 Internet 访问,确保它仍然可以访问所需生态系统的专用注册表和运行 GitHub Enterprise Server程序。

    必须首先添加映像,因为Dependabot运行程序将从作业开始运行时拉取。Container registrydependabot-proxyGitHubDependabotdependabot-updater

验证运行程序的配置Dependabot

  1. 对于测试存储库,请配置为 Dependabot 访问专用注册表并删除对公共注册表的访问权限。 有关详细信息,请参阅 为 Dependabot 配置对专用注册表的访问权限删除对公共注册表的 Dependabot 访问权限

  2. 在存储库的“见解”选项卡中,点击“依赖关系图”以显示依赖项详细信息。

  3. 单击 Dependabot 可显示为版本更新配置的生态系统。

  4. 对于要测试的生态系统,点击 “上次检查”时间,以显示“更新日志”视图。

  5. 点击“检查更新”以检查该生态系统的依赖项新更新。

检查更新完成后,应检查“更新日志”视图,以验证是否已 Dependabot 访问实例上配置的专用注册表以检查版本更新。

验证配置是否正确后,请让存储库管理员更新其 Dependabot 配置以仅使用专用注册表。 有关详细信息,请参阅“删除对公共注册表的 Dependabot 访问权限”。