Skip to main content

限制对计算机类型的访问

你可以对用户在组织中创建 codespace 时可以选择的计算机类型设置约束。

Who can use this feature

To manage access to machine types for the repositories in an organization, you must be an owner of the organization.

概述

通常,在创建代码空间时,系统会为将运行代码空间的计算机提供一系列规范。 您可以选择最适合您需求的计算机类型。 有关详细信息,请参阅“为存储库创建 codespace”。

如果您为使用 GitHub Codespaces 付费,那么您选择的计算机类型将影响您的账单金额。 codespace 的计算成本与你选择的计算机类型中的处理器核心数成正比。 例如,在 16 核计算机上使用 codespace 一小时的计算成本是 2 核计算机的 8 倍。 有关定价的详细信息,请参阅“关于 GitHub Codespaces 的计费”。

作为组织所有者,您可能希望对可用的计算机类型配置约束。 例如,如果组织中的工作不需要大量的计算能力或存储空间,则可以从用户可以选择的选项列表中删除资源丰富的计算机。 为此,可在组织的 GitHub Codespaces 设置中定义一个或多个策略。

设置计算机类型约束时的行为

如果现有 codespace 不再符合你定义的策略,这些 codespace 将继续运行,直到它们停止或超时。当用户尝试恢复 codespace 时,系统会显示一条消息,告知他们目前选择的计算机类型已不再可供此组织使用,并提示他们选择备用计算机类型。

如果删除组织中单个存储库的 GitHub Codespaces 配置所需的更高规范的计算机类型,则无法为该存储库创建 codespace。 当有人尝试创建 codespace 时,他们将看到一条消息,告诉他们没有有效的计算机类型可以满足存储库 GitHub Codespaces 配置的要求。

注意:任何可以在存储库中编辑 devcontainer.json 配置文件的人员都可以为计算机设置可用于该存储库的 codespace 的最低规范。 有关详细信息,请参阅“为 codespace 计算机设置最低规范”。

如果为计算机类型设置策略会阻止用户对特定存储库使用 GitHub Codespaces,则有两种选择:

  • 您可以调整策略以专门从受影响的存储库中删除限制。
  • 由于新策略,任何拥有无法再访问的代码空间的人都可以将其代码空间导出到分支。 此分支将包含它们从代码空间所做的所有更改。 然后,他们可以使用兼容的计算机类型在此分支上打开新的代码空间,或者在本地处理此分支。 有关详细信息,请参阅“将更改导出到分支”。

设置组织范围和存储库特定的策略

创建策略时,您可以选择是将其应用于组织中的所有存储库,还是仅应用于指定的存储库。 如果设置了组织范围的策略,则为各个存储库设置的任何策略都必须在组织级别设置的限制范围内。 添加策略会使计算机的选择受到限制更多,而不是更少。

例如,您可以创建一个组织范围的策略,将计算机类型限制为 2 核或 4 核。 然后,您可以为存储库 A 设置一个策略,将其限制为仅 2 核计算机。 为存储库 A 设置策略以将其限制为具有 2、4 或 8 核的计算机将导致仅选择 2 核和 4 核计算机,因为组织范围的策略会阻止访问 8 核计算机。

如果添加组织范围的策略,则应将其设置为可用于组织中任何存储库的最大计算机类型选择范围。 然后,您可以添加特定于存储库的策略以进一步限制选择。

注意:Codespace 策略仅适用于组织将为其计费的 codespace。 如果个人用户为组织中的存储库创建 codespace,并且不会对组织进行计费,则 codespace 不受这些策略的约束。 有关如何选择谁可以创建对组织进行计费的 codespace 的信息,请参阅“为组织启用 GitHub Codespaces”。

添加策略以限制可用的计算机类型

  1. 在 GitHub.com 的右上角,单击你的个人资料照片,然后单击“你的组织”。 贵组织在配置文件菜单中 2. 在组织旁边,单击“设置”。 设置按钮 1. 在边栏的“代码、规划和自动化”部分中,选择“ Codespaces”,然后单击“策略” 。

  2. 在“codespace 策略”页上,单击“创建策略”。

  3. 输入新策略的名称。

  4. 单击“添加约束”并选择“计算机类型” 。

    “添加约束”下拉菜单的屏幕截图

  5. 单击 以编辑约束,然后清除您不希望可用的任何计算机类型的选择。

    用于编辑约束的铅笔图标的屏幕截图

  6. 单击对话框外部将其关闭。

  7. 默认情况下,策略设置为应用于所有存储库,如果你希望它仅应用于组织中的某些存储库,请单击“所有存储库”,然后在下拉菜单中单击“所选存储库”。

    选择了“所选存储库”的屏幕截图

    选中“所选存储库”后:

    1. 单击

      用于编辑设置的齿轮图标的屏幕截图

    2. 选择要应用此策略的存储库。

    3. 在存储库列表的底部,单击“选择存储库”。

      此策略的选定存储库的屏幕截图

  8. 如果要向策略添加另一个约束,请单击“添加约束”并选择另一个约束。 有关其他约束的信息,请参阅:

  9. 向策略添加完约束后,单击“保存”。

策略将应用于对组织计费的所有新 codespace。 当有人尝试重启已停止的 codespace 或重新连接到活动 codespace 时,计算机类型约束也会应用于现有的 codespace。

编辑策略

可以编辑现有策略。 例如,你可能想要在策略中添加或移除约束。

  1. 显示“Codespace policies(代码空间策略)”页。 有关详细信息,请参阅“添加策略以限制可用的计算机类型”。
  2. 单击要编辑的策略的名称。
  3. 单击“计算机类型”约束旁边的铅笔图标 ()。
  4. 执行所需更改,然后单击“保存”。

删除策略

  1. 显示“Codespace policies(代码空间策略)”页。 有关详细信息,请参阅“添加策略以限制可用的计算机类型”。

  2. 单击要删除的策略右侧的删除按钮。

    策略的“删除”按钮的屏幕截图

延伸阅读