概述
默认情况下,codespace 会在处于非活动状态 30 分钟后超时。 当 codespace 超时时,它会停止,并且不会再产生计算使用费用。
GitHub 用户的个人设置允许他们为创建的 codespace 定义自己的超时期限。 这可能比默认的 30 分钟期限长。 有关详细信息,请参阅“设置 GitHub Codespaces 超时期限”。
作为组织所有者,你可能希望为针对组织拥有的存储库创建的 codespace 的最大空闲超时时间配置约束。 这有助于限制与长时间处于非活动状态后超时的 codespace 相关的成本。 你可以为组织拥有的所有存储库的 codespace 或特定存储库的 codespace 设置最大超时。
Note
最大空闲超时约束仅应用于组织拥有的 codespace。
若要详细了解 GitHub Codespaces 计算使用情况的定价,请参阅“关于 GitHub Codespaces 的计费”。
定义的非活动
在 Codespaces 空闲超时的上下文中,非活动定义为用户状态缺少活动指示性。 与 Codespaces 进行个人交互(例如输入或使用鼠标)会重置空闲超时期限。 此外,终端活动(输入或输出)也会重置空闲超时期限。 例如,如果从 codespace 在端口上发布一个 Web 应用且页面请求在 codespace 上的终端中生成输出,则每当发生终端输出时都会重置超时。 但是,如果共享端口,然后不与 codespace 交互并且不生成终端输出,则 codespace 将在配置的时间段后超时。
设置最大空闲超时约束时的行为
如果某人在其个人设置中将默认空闲超时设置为 90 分钟,然后为具有最大空闲超时约束的存储库启动 codespace 60 分钟,则该 codespace 将在处于非活动状态 60 分钟后超时。 codespace 创建完成后,将显示一条消息,指出这一点:
根据组织的策略,此 codespace 的空闲超时设置为 60 分钟。
设置组织范围和存储库特定的策略
创建策略时,你可以选择是将其应用于组织中的所有存储库,还是仅应用于指定的存储库。 如果创建具有超时约束的组织范围的策略,则针对特定存储库的任何策略中的超时约束必须属于为整个组织配置的限制。 在组织范围的策略、针对指定存储库的策略或某人的个人设置中的策略中,将应用最短的超时期限。
如果添加具有超时约束的组织范围的策略,则应将超时设置为最长可接受的期限。 然后,可以添加单独的策略,将组织内特定存储库的最大超时设置为较短的期限。
Note
Codespace 策略仅适用于组织支付的 codespace。 如果某人为组织中的存储库创建 codespace,并自行付费,则 codespace 不受这些策略的约束。 有关详细信息,请参阅“选择谁拥有组织中的 codespace 并为其付费”。
添加策略以设置最大空闲超时期限
-
在 GitHub 的右上角,选择个人资料照片,然后单击 “你的组织”。
-
在组织旁边,单击“设置”。
-
在边栏的“代码、规划和自动化”部分中,选择“ Codespaces”,然后单击“策略” 。
-
在“codespace 策略”页上,单击“创建策略”。****
-
输入新策略的名称。
-
单击“添加约束”,然后选择“最大空闲超时”。
-
单击 编辑约束。
-
输入 codespace 的最大分钟数可以在超时之前保持非活动状态,然后单击“保存”。
-
默认情况下,策略设置为应用于所有存储库,如果你希望它仅应用于组织中的某些存储库,请单击“所有存储库”,然后在下拉菜单中单击“所选存储库”。
Note
如果现有的策略已包含“每用户最大 Codespace 数量”约束,要向该策略添加约束,则无法将该策略应用于所选存储库。 这是因为“每个用户的最大 codespace 数量”约束始终应用于组织中的所有存储库。
选中“所选存储库”后:
-
单击 。
-
选择要应用此策略的存储库。
-
在存储库列表的底部,单击“选择存储库”。
-
-
如果要向策略添加另一个约束,请单击“添加约束”并选择另一个约束。 有关其他约束的信息,请参阅:
-
向策略添加完约束后,单击“保存”。
策略将应用于对组织计费的所有新 codespace。 下次启动现有 codespace 时,超时约束也会对其应用。
编辑策略
可以编辑现有策略。 例如,你可能想要在策略中添加或移除约束。
- 显示“Codespace policies(代码空间策略)”页。 有关详细信息,请参阅“添加策略以设置最大空闲超时期限”。
- 单击要编辑的策略的名称。
- 在“最大空闲超时”约束旁,单击“”。
- 执行所需更改,然后单击“保存”。
删除策略
-
显示“Codespace policies(代码空间策略)”页。 有关详细信息,请参阅“添加策略以设置最大空闲超时期限”。
-
在要删除的策略的右侧,单击“”。