跳至主要内容

使用 Azure 私有网络在 GitHub 托管的操作运行程序上运行 Dependabot 的设置

您可以配置 Azure 虚拟网络(VNET)在 GitHub 托管的运行程序上运行 Dependabot。

谁可以使用此功能?

具有 写入 访问权限的用户

为 Dependabot 更新配置 VNET

本文提供了在配置了 VNET 的 GitHub 托管运行程序上运行 Dependabot 的分步说明。文章解释了

  • 如何为您的企业或组织创建带有 VNET 配置的运行程序组。
  • 如何在运行程序组中为 Dependabot 创建 GitHub 托管的运行程序。
  • 如何在大型运行程序上启用 Dependabot。
  • 如何配置 Azure VNET 防火墙 IP 规则。

要在 Azure VNET 中使用 GitHub 托管的运行程序,您需先配置 Azure 资源,然后在 GitHub 中创建私有网络配置。

配置 Azure 资源

要了解如何在 Azure 私有网络中使用 GitHub 托管的运行程序,请参阅 GitHub Enterprise Cloud 文档中的配置您的 Azure 资源

注意

  • 脚本在配置 Azure 资源时需要的 databaseId 可以根据您是为企业还是组织配置资源而指向以下任意一种
  • 企业 slug,可通过查看企业的 URL https://github.com/enterprises/SLUG 来确定,或
  • 组织账号的登录名,可通过查看组织的 URL https://github.com/organizations/ORGANIZATION_LOGIN 来确定。
  • 脚本会返回已创建资源的完整负载。负载中返回的 GitHubId 哈希值即为网络设置资源 ID,您将在后续在 GitHub 中设置网络配置时使用该 ID。

为您的企业配置 VNET 注入的运行程序以进行 Dependabot 更新

在配置完 Azure 资源后,您可以通过在组织层面创建网络配置来使用 Azure 虚拟网络(VNET)进行私有网络连接。随后,可将该网络配置关联到运行程序组。

  1. 为您的企业添加新的网络配置。请参阅 GitHub Enterprise Cloud 文档中的为您的企业添加新网络配置
  2. 为企业创建运行程序组,并选择您想为其运行 Dependabot 更新的组织。请参阅 GitHub Enterprise Cloud 文档中的为您的企业创建运行程序组
  3. 创建并将 GitHub 托管的运行程序添加到企业运行程序组。请参阅 GitHub Enterprise Cloud 文档中的向企业添加大型运行程序。重要要点如下
    • 运行程序名称必须为 dependabot

    • 选择 Linux x64 平台。

    • 选择合适的 Ubuntu 版本。

    • 将 GitHub 托管的运行程序添加到运行程序组时,选择您在上一步创建的运行程序组。

    注意

    将 GitHub 托管的运行程序命名为 dependabot 会为该运行程序分配 dependabot 标签,从而使其能够接手由 Dependabot 在 actions 中触发的作业。

为组织启用 Dependabot

您现在需要在组织的 自托管运行程序 上启用 Dependabot,以便在大型运行程序上使用 Dependabot。请参阅在大型运行程序上启用或禁用 Dependabot

  1. 在 GitHub 页面右上角,点击您的头像,然后点击 Organizations

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

    Screenshot of the tabs in an organization's profile. The "Settings" tab is outlined in dark orange.

  3. 在侧边栏的 “Security” 部分,选择 Advanced Security 下拉菜单,然后点击 Global settings

  4. Dependabot 下,选择 Dependabot on self‑hosted runners。此步骤必不可少,因为它确保后续的 Dependabot 作业将在名称为 dependabot 的大型 GitHub 托管运行程序上运行。

触发 Dependabot 运行

现在您已经使用 VNET 完成了私有网络的设置,可以开始一次 Dependabot 运行。

  1. 在 GitHub 上,导航至仓库的主页面。

  2. 在仓库名称下方,点击 洞察 选项卡。

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

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

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

  5. 在您感兴趣的清单文件名称的右侧,点击 Recent update jobs

  6. 如果该清单文件暂无最近的更新作业,点击 Check for updates 重新运行 Dependabot 版本更新作业,并检查该生态系统的依赖项是否有新更新。

检查 Dependabot 更新的日志和活动作业

  • 您可以在仓库的 Actions 选项卡中查看 Dependabot 工作流的日志。请确保在 Actions 页面左侧边栏中选择 Dependabot 作业。

    Example of log for a "Dependabot in vnet" workflow. The Dependabot job is highlighted with an orange outline.

  • 您可以在显示运行程序信息的页面中查看活动作业。要访问该页面,请点击企业的 Policies 选项卡,在左侧边栏选择 Actions,点击 Runner group 选项卡,然后选择您的运行程序。

    Screenshot showing a Dependabot runner's active jobs.

配置 Azure VNET 防火墙 IP 规则

如果您的 Azure VNET 环境使用了带有 IP 白名单的防火墙,您可能需要更新允许的 IP 地址列表,以使用从 meta API 端点获取的 GitHub 托管运行程序的 IP 地址。

  • GitHub 为其 IP 范围提供了如下公共端点

    GET https://api.github.com/meta

  • 在终端或命令提示符中复制并粘贴以下 curl 命令,并将占位符的 bearer token 替换为您的实际值。

    Bash
          curl -L \
          -H "Accept: application/vnd.github+json" \
          -H "Authorization: Bearer YOUR-TOKEN" \
          -H "X-GitHub-Api-Version: 2022-11-28" \
          https://api.github.com/meta
    
  • 在响应中查找 actions 键。

        "actions": [ ... ]
    

    这些就是 GitHub Actions 运行程序(包括 Dependabot 和托管运行程序)使用的 IP 范围。

  • 将这些 IP 添加到您的防火墙白名单中。

© . This site is unofficial and not affiliated with GitHub, Inc.