跳至主要内容

为 Codespace 虚拟机设置最低规格

你可以避免为你的仓库使用资源不足的机器类型用于 GitHub Codespaces。

谁可以使用此功能?

拥有仓库写入权限的人员可以创建或编辑 Codespace 配置。

概述

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

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

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

重要

在组织级别可能会限制对某些机器类型的访问。通常,这样做是为了防止人们选择资源更高的机器,这些机器的计费率更高。如果你的仓库受组织级别机器类型策略的影响,你应该确保不要设置会导致无人可用的机器类型的最小规格。有关更多信息,请参阅“限制对机器类型的访问”。

设置最小机器规格

  1. 你可以通过向 devcontainer.json 文件添加设置来配置为你仓库创建的 Codespaces。如果你的仓库尚不包含 devcontainer.json 文件,你现在可以添加一个。请参阅“向你的仓库添加开发容器配置”。

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

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

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

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

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

    现在,当您为该存储库的分支创建 codespace 并转到创建配置选项时,您将只能选择与您指定的资源匹配或超过其资源的机器类型。

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

进一步阅读