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