概述
通常,当您创建 codespace 时,会提供运行 codespace 的机器的规格选择。您可以选择最适合您需求的机器类型。有关更多信息,请参阅“为存储库创建 codespace”。
如果您为使用 GitHub Codespaces 付费,那么您选择的机器类型将影响您的账单金额。codespace 的计算成本与您选择的机器类型中的处理器核心数量成正比。例如,在 16 核机器上使用 codespace 一小时的计算成本是 2 核机器的八倍。有关定价的更多信息,请参阅“关于 GitHub Codespaces 的计费”。
作为组织所有者,您可能希望配置对可用机器类型的约束。例如,如果您的组织中的工作不需要大量的计算能力或存储空间,则可以从人们可以选择的一系列选项中删除资源丰富的机器。您可以通过在组织的 GitHub Codespaces 设置中定义一个或多个策略来执行此操作。
设置机器类型约束时的行为
如果存在不再符合您定义的策略的现有 codespaces,则这些 codespaces 将继续运行,直到它们停止或超时。当用户尝试恢复 codespace 时,系统会显示一条消息,告知他们当前选择的机器类型不再允许用于此组织,并提示他们选择替代机器类型。
如果您删除了组织中单个代码库的 GitHub Codespaces 配置所需的较高规格的机器类型,则将无法为此代码库创建 Codespace。当有人尝试创建 Codespace 时,他们会看到一条消息,告诉他们没有可用的有效机器类型满足代码库的 GitHub Codespaces 配置的要求。
注意
任何可以编辑代码库中devcontainer.json配置文件的人都可以为可用于该代码库的 Codespace 的机器设置最低规格。有关更多信息,请参阅“为 Codespace 机器设置最低规格”。
如果设置机器类型的策略阻止人们为特定代码库使用 GitHub Codespaces,则有两个选项
- 您可以调整策略以专门从受影响的代码库中删除限制。
- 任何由于新策略而无法访问其 Codespace 的用户都可以将其 Codespace 导出到分支。此分支将包含他们从 Codespace 中的所有更改。然后,他们可以在此分支上使用兼容的机器类型打开新的 Codespace 或在本地处理此分支。有关更多信息,请参阅“将更改导出到分支”。
设置组织范围和代码库特定的策略
创建策略时,您可以选择将其应用于组织中的所有代码库,还是仅应用于指定的代码库。如果您设置了组织范围的策略,则您为各个代码库设置的任何策略都必须符合组织级别设置的限制。添加策略会使机器的选择更具限制性,而不是更少限制。
例如,您可以创建一个组织范围的策略,将机器类型限制为 2 核或 4 核。然后,您可以为代码库 A 设置一个策略,将其限制为仅 2 核机器。为代码库 A 设置一个将其限制为具有 2 核、4 核或 8 核机器的策略将仅导致选择 2 核和 4 核机器,因为组织范围的策略阻止了对 8 核机器的访问。
如果您添加了组织范围的策略,则应将其设置为组织中任何代码库都可用的最大机器类型选择。然后,您可以添加代码库特定的策略以进一步限制选择。
注意
Codespaces 策略仅适用于组织付费的 Codespaces。如果有人以自己的费用为组织中的代码库创建 Codespace,则该 Codespace 不会受这些策略的约束。有关更多信息,请参阅“选择谁拥有和支付组织中的 Codespaces”。
添加策略以限制可用的机器类型
-
在 GitHub 的右上角,选择您的个人资料照片,然后单击 您的组织.
-
在组织旁边,单击“**设置**”。
-
在侧边栏的“代码、计划和自动化”部分,选择“** Codespaces**,然后单击“**策略**”。
-
在“Codespaces 策略”页面上,单击“**创建策略**”。
-
输入新策略的名称。
-
单击“**添加约束**”并选择“**机器类型**”。
-
单击以编辑约束,然后清除您不希望可用的任何机器类型的选择。

-
单击对话框外部以将其关闭。
-
默认情况下,策略设置为应用于所有代码库,如果您希望它仅应用于组织中的一些代码库,请单击“**所有代码库**”,然后在下拉菜单中单击“**选定的代码库**”。

注意
如果您正在向包含“每个用户最大 Codespaces 数”约束的现有策略添加约束,则您将无法将该策略应用于选定的代码库。这是因为“每个用户最大 Codespaces 数”约束始终应用于组织中的所有代码库。
选择“**选定的代码库**”后
-
单击.

-
选择您希望此策略应用到的代码库。
-
在代码库列表底部,单击“**选择代码库**”。

-
-
如果您想向策略添加其他约束,请单击“**添加约束**”并选择其他约束。有关其他约束的信息,请参阅
-
完成向策略添加约束后,单击“**保存**”。
该策略将应用于所有对您的组织可计费的新 Codespaces。当有人尝试重新启动已停止的 Codespace 或重新连接到活动的 Codespace 时,机器类型约束也会应用于现有 Codespaces。
编辑策略
您可以编辑现有策略。例如,您可能希望向策略添加或删除约束。
- 显示“Codespaces 策略”页面。有关更多信息,请参阅“添加策略以限制可用的机器类型”。
- 单击要编辑的策略的名称。
- 在“机器类型”约束旁边,单击.
- 进行所需的更改,然后单击“**保存**”。
删除策略
-
显示“Codespaces 策略”页面。有关更多信息,请参阅“添加策略以限制可用的机器类型”。
-
单击在要删除的策略右侧。
