概览
通常,在创建代码空间时,系统会提供一组用于运行代码空间的机器规格供您选择。您可以选择最符合需求的机器类型。更多信息,请参阅 为仓库创建代码空间。
如果您为使用 GitHub Codespaces 付费,那么所选机器类型会影响您的计费金额。代码空间的计算成本与您选择的机器类型的处理器核心数量成正比。例如,在 16 核机器上使用代码空间一小时的计算成本是 2 核机器的八倍。有关定价的更多信息,请参阅 GitHub 代码空间计费。
作为组织所有者,您可能希望对可用的机器类型进行约束。例如,如果组织的工作不需要大量计算能力或存储空间,您可以从可选列表中移除资源密集型机器。您可以通过在组织的 GitHub Codespaces 设置中定义一个或多个策略来实现此目的。
设置机器类型约束时的行为
如果已有代码空间不再符合您已定义的策略,这些代码空间将在被停止或超时之前继续运行。当用户尝试恢复代码空间时,会显示一条消息,告知当前选择的机器类型已不再允许用于此组织,并提示用户选择其他机器类型。
如果您移除组织中某个仓库的 GitHub Codespaces 配置所需的高规格机器类型,则将无法为该仓库创建代码空间。当有人尝试创建代码空间时,会看到一条信息,说明没有满足仓库 GitHub Codespaces 配置要求的有效机器类型可供选择。
注意
任何能够编辑仓库中 devcontainer.json 配置文件的人,都可以为该仓库的代码空间设定机器的最低规格。更多信息,请参阅 为代码空间机器设置最低规格。
如果为机器类型设置的策略导致某个仓库无法使用 GitHub Codespaces,则有两种解决方案
- 您可以调整策略,以专门移除受影响仓库的限制。
- 任何因新策略而无法访问其代码空间的用户,都可以将代码空间导出到一个分支。该分支会包含他们在代码空间中的所有修改。随后,他们可以在此分支上使用符合策略的机器类型打开新的代码空间,或在本地对该分支进行工作。更多信息,请参阅 将更改导出到分支。
设置组织范围和仓库特定的策略
创建策略时,您可以选择将其应用于组织内的所有仓库,亦或仅针对特定仓库。如果您设置了组织范围的策略,则针对单个仓库设置的任何策略都必须在组织级别的限制范围内。添加策略会使机器选择更加受限,而不是更宽松。
例如,您可以创建一个组织范围的策略,将机器类型限制为 2 核或 4 核。随后,您可以为仓库 A 设置策略,仅允许使用 2 核机器。若为仓库 A 设置的策略允许 2、4、8 核机器,则实际可选的仅是 2 核和 4 核机器,因为组织范围的策略阻止了对 8 核机器的访问。
如果您添加了组织范围的策略,请将其设置为组织内任何仓库都可能使用的最大机器类型集合。随后,您可以再添加针对特定仓库的策略,以进一步收紧选择范围。
注意
Codespaces 策略仅适用于由贵组织支付费用的代码空间。如果有人自行承担费用为组织中的仓库创建代码空间,则该代码空间不受这些策略约束。更多信息,请参阅 选择组织中代码空间的所有者和付费方。
添加策略以限制可用机器类型
-
在 GitHub 右上角,点击您的头像,然后点击 组织。
-
点击即可选择组织。
-
在组织名称下,点击 设置。如果看不到 “设置” 选项卡,请选择 下拉菜单,然后点击 设置。

-
在侧边栏的 “代码、规划和自动化” 部分,选择 Codespaces,然后点击 策略。
-
在 “Codespaces 策略” 页面,点击 创建策略。
-
为您的新策略输入名称。
-
点击 添加约束 并选择 机器类型。
-
点击编辑约束后,清除您不希望提供的任何机器类型的选择。

-
点击对话框外部以关闭对话框。
-
默认情况下,策略适用于所有仓库。如果您希望仅在组织中的部分仓库上应用该策略,请点击 “所有仓库”,然后在下拉菜单中点击 “已选仓库”。

注意
如果您在已有的策略中添加约束,而该策略已经包含 “Maximum codespaces per user”(每用户最大代码空间数) 约束,则无法将策略应用于已选仓库。这是因为 “Maximum codespaces per user” 约束始终适用于组织中的所有仓库。
在已选仓库已选中时
-
点击.

-
选择您希望该策略适用的仓库。
-
在仓库列表底部,点击 “选择仓库”。

-
-
如果您想向策略添加另一个约束,点击 添加约束 并选择其他约束。有关其他约束的信息,请参阅
-
完成向策略添加约束后,点击 保存。
该策略将适用于所有新创建、计费归属您组织的代码空间。机器类型约束同样会在有人尝试重新启动已停止的代码空间或重新连接到活动代码空间时,对现有代码空间生效。
编辑策略
您可以编辑已有的策略。例如,您可能想向策略添加或删除约束。
- 显示 “代码空间策略” 页面。有关更多信息,请参阅 添加策略以限制可用机器类型。
- 点击您想编辑的策略名称。
- 在 “机器类型” 约束旁,点击.
- 进行所需更改后,点击 保存。
删除策略
-
显示 “代码空间策略” 页面。有关更多信息,请参阅 添加策略以限制可用机器类型。
-
点击在您想删除的策略右侧。
