Skip to main content

使用Azure专用网络设置 Dependabot 以在 github 托管的操作运行程序上运行

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

谁可以使用此功能?

具有写入访问权限的用户

配置 VNET 的 Dependabot updates

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

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

若要将 GitHub 托管的运行程序与 Azure VNET 配合使用,首先需要配置Azure资源,然后在 GitHub 中创建专用网络配置。

配置Azure资源

若要了解如何将 GitHub 托管的运行程序与Azure专用网络配合使用,请参阅 文档中的GitHub Enterprise Cloud。

注意

  • 在脚本中配置 Azure 资源时所需的 databaseId 可参考下列任一项,这具体取决于您是为企业还是组织配置资源:
  • 可通过查看企业的 URL (https://github.com/enterprises/SLUG) 来识别的企业数据域,或者
  • 可通过查看组织 URL https://github.com/organizations/ORGANIZATION_LOGIN 来识别的组织帐户的登录名。
  • 该脚本将返回所创建资源的完整有效负载。 GitHubId在创建资源的有效负载中返回的哈希值是你在设置网络配置时将在后续步骤中使用的网络设置资源 IDGitHub

在企业中配置 Dependabot updates VNET 注入运行程序

配置Azure资源后,可以通过在组织级别创建网络配置,将 Azure 虚拟网络 (VNET)用于专用网络。 然后,你可以将该网络配置与运行器组关联。

  1. 为企业添加新的网络配置。 请参阅文档中为企业GitHub Enterprise Cloud添加新的网络配置。
  2. 为企业创建运行者组,然后选择要为其运行 Dependabot updates 的组织。 请参阅在文档中的《为企业创建运行器组》GitHub Enterprise Cloud。
  3. 创建并向企业运行器组添加 GitHub 托管的运行器。 请参阅GitHub Enterprise Cloud文档中的向企业添加更大的运行程序。 要点如下:
    • 运行程序名称必须为 dependabot

    • 选择 Linux x64 平台。

    • 选择合适的 Ubuntu 版本。

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

    注意

    命名GitHub托管的运行器dependabotdependabot标签分配给运行器,这使它能够选择由Dependabot在操作中触发的作业。

启用 Dependabot 为组织

现在,你需要为组织启用Dependabot_自承载运行程序_才能在大型运行程序上启用Dependabot。 请参阅在较大的运行程序上启用或禁用Dependabot

  1. 在 GitHub 的右上角,单击个人资料图片,然后单击“ Your organizations”****。

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

    组织配置文件中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。

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

  4. Dependabot 下,选择Dependabot 自托管运行器。 此步骤是必需的,因为它可确保将来的Dependabot作业将在具有dependabot名称的GitHub托管的较大运行程序上运行。

触发 Dependabot 运行

现在已使用 VNET 设置专用网络,接下来可以启动 Dependabot 运行。

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

  2. 在仓库名称下,单击 “Insights”选项卡****。

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

    “依赖项关系图”选项卡的屏幕截图。选项卡以橙色边框突出显示。

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

  5. 在相关的清单文件名称的右侧,单击“Recent update jobs”****。

  6. 如果最近没有针对该清单文件的更新作业,请单击“Check for updates”以重新运行 Dependabot 版本更新作业,并检查该生态系统中的依赖项是否有可用更新****。

检查Dependabot updates的日志和活动作业

  • 可以在存储库的Dependabot”选项卡中查看工作流的**** 日志。 请确保在“操作”页的左侧栏选择Dependabot作业。

    “VNet 中的 Dependabot”工作流日志的示例。 Dependabot 作业以橙色边框突出显示。

  • 你可以在包含运行程序相关信息的页面中查看活动作业。 要访问该页面,请单击企业策略选项卡,选择左侧边栏上的操作,单击运行程序组选项卡,然后选择你的运行程序。

    显示 Dependabot 运行程序的活动作业的屏幕截图。

配置 Azure VNET 防火墙 IP 规则

如果您的 Azure VNET 环境配置了一个具有 IP 允许列表的防火墙,则可能需要更新允许的 IP 地址列表,以使用来自元 API 终结点的 托管运行器 IP 地址。

  •         GitHub 为其 IP 范围提供以下公共终结点:
    

    获取 https://api.github.com/meta

  • 在终端或命令提示符中复制并粘贴以下 curl 命令,并将占位符持有者令牌值替换为实际值。

    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 运行器使用的 IP 范围,包括 Dependabot 和托管运行器。

  • 将这些 IP 添加到防火墙允许列表中。