跳至主要内容

为 Codespace 机器设置最低规格

您可以避免为您的存储库使用 GitHub Codespaces 的资源不足的机器类型。

谁可以使用此功能?

对存储库具有写入权限的人员可以创建或编辑 Codespace 配置。

概述

您创建的每个 Codespace 都托管在独立的虚拟机上。当您从存储库创建 Codespace 时,通常可以选择不同类型的虚拟机。每种机器类型都具有不同的资源(处理器核心、内存、存储),默认情况下,将使用资源最少的机器类型。有关更多信息,请参阅“更改 Codespace 的机器类型”。

如果您的项目需要一定级别的计算能力,您可以配置 GitHub Codespaces,以便默认情况下仅使用满足这些要求的机器类型,或者由用户选择。您可以在 devcontainer.json 文件中配置此设置。

未发布的 Codespace(从模板创建但未链接到 GitHub 上存储库的 Codespace)始终在具有相同规格的虚拟机上运行。您无法更改未发布的 Codespace 的机器类型。

重要提示:对某些机器类型的访问权限可能在组织级别受到限制。通常这样做是为了防止人们选择资源更高的机器,这些机器的计费率更高。如果您的存储库受到组织级别机器类型策略的影响,您应该确保您不会设置最低规格,这将使人们无法选择任何可用的机器类型。有关更多信息,请参阅“限制对机器类型的访问权限”。

设置最低机器规格

  1. 您可以通过在 devcontainer.json 文件中添加设置来配置为您的存储库创建的 Codespace。如果您的存储库中还没有 devcontainer.json 文件,您现在可以添加一个。请参阅“将开发容器配置添加到您的存储库”。

  2. 编辑 devcontainer.json 文件,在文件顶层,在封闭的 JSON 对象中添加 hostRequirements 属性。例如

    JSON
    "hostRequirements": {
       "cpus": 8,
       "memory": "8gb",
       "storage": "32gb"
    }
    

    您可以指定任何或所有选项:cpusmemorystorage

    要检查当前可用于您的存储库的 GitHub Codespaces 机器类型的规格,请逐步完成创建 Codespace 的过程,直到您看到机器类型的选择。有关更多信息,请参阅“为存储库创建 Codespace”。

  3. 保存文件并将更改提交到存储库的所需分支。

    现在,当您为存储库的该分支创建代码空间时,在创建配置选项中,您将只能选择与您指定的资源匹配或超出其资源的机器类型。

    Screenshot of a list of machine types. The 2- and 4-core options are labeled "Below dev container requirements."

进一步阅读