组
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
在 GitLab 中,你可以使用组来同时管理一个或多个相关项目。
你可以使用组与所有组成员进行沟通,并管理项目的权限。 如果有人有权访问该组,他们就能访问组中的所有项目。
你还可以查看组中所有项目的问题和合并请求, 以及关于组活动的分析数据。
对于大型组织,你还可以创建子组。
有关创建和管理组的更多信息,请参阅管理组。
组层级结构
组以树形结构组织:
- 顶级组是在组织"根"级别创建的组。一个组织可以有一个或多个顶级组。一个顶级组可以包含一个或多个子组。
- 父组是包含一个或多个子组的组。
- 子组是另一个组的一部分。
例如,在下图中:
- 组织有四个组:一个顶级组(T),它包含一个子组(G),以及 G 中的两个子组(A 和 B)。
- T 是顶级组,也是 G 的父组。
- G 是 T 的子组(子节点),也是 A 和 B 的父组。
- A 和 B 是 G 的子组(子节点)。
%%{init: { "fontFamily": "GitLab Sans", 'theme':'neutral' }}%%
flowchart TD
accTitle: 组层级结构
accDescr: 组织中组层级结构的示例
subgraph Organization
T[组 T] --> G[组 G]
G --> A[组 A]
G --> B[组 B]
end
组结构
设置组的方式取决于你的用例、团队规模和访问需求。 下表描述了最常见的组结构模型。
| 模型 | 结构 | 用例 |
|---|---|---|
| 简单 | 所有项目使用一个组 | 在小团队工作或需要无缝协作和资源访问的特定解决方案(例如营销网站)上工作。 |
| 团队 | 不同类型的团队使用不同的组或子组(例如产品和工程团队) | 在大型组织中工作,其中一些团队自主工作或需要集中资源和来自外部团队成员的有限访问权限。 |
| 客户 | 每个客户使用一个组 | 为多个客户提供需要不同资源和访问级别的定制解决方案。 |
| 功能 | 一种功能使用一个组或子组(例如 AI/ML) | 开发复杂产品,其中一种功能需要特定资源和主题专家的协作。 |
在 GitLab Self-Managed 上,如果你想查看整个组织的概览,应该创建一个顶级组。 有关创建所有组的组织视图的更多信息, 请查看史诗 9266。 顶级组通过完整的 安全仪表板和中心、 漏洞报告、 合规中心 和 价值流分析 提供整个组织的洞察。
组可见性
与项目类似,组可以配置为对以下用户可见:
- 匿名用户。
- 所有已认证用户。
- 仅限明确的组成员。
应用程序设置级别的可见性级别限制也适用于组。如果设置为内部,匿名用户的探索页面为空。组页面有可见性级别图标。
用户无法创建比其直接父组更高可见性级别的子组或项目。
查看组
要探索所有公开或内部的组:
- 在左侧边栏,选择搜索或跳转至。
- 选择查看我的所有组。
- 在右上角,选择探索组。
查看你所属的组
要查看你直接或间接所属的组:
- 在左侧边栏,选择搜索或跳转至。
- 选择查看我的所有组。
此页面显示你通过以下方式所属的组:
- 子组的父组成员资格。
- 组或子组中项目的直接或继承成员资格。
查看组
组概览页面显示有关该组及其成员、子组和项目的信息,例如:
- 组描述
- 最近活动
- 创建的合并请求数量和问题数量
- 添加的成员数量
- 子组和项目
- 共享项目
- 已归档项目
要查看组:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
你可以搜索该组的子组和项目, 并按升序或降序排序。
你可以使用组的 ID 而不是名称在 https://gitlab.example.com/-/g/<id> 访问组。
例如,如果你的组 example-group 的 ID 是 123456,你可以通过
https://gitlab.example.com/example-group 或 https://gitlab.example.com/-/g/123456 访问该组。
查找组 ID
如果你想要使用 GitLab API 与组交互,你可能需要组 ID。
要查找组 ID:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 在组概览页面,右上角,选择操作( )。
- 选择复制组 ID。
查看组活动
要查看组的活动:
-
在左侧边栏,选择搜索或跳转至并找到你的组。
-
选择管理 > 活动。
-
可选。要按贡献类型筛选活动,选择一个选项卡:
- 全部:组成员在组及其项目中的所有贡献。
- 推送事件:组项目中的推送事件。
- 合并事件:组项目中已接受的合并请求。
- 问题事件:组项目中打开和关闭的问题。
- 评论:组成员在组项目中的评论。
- Wiki:组中 wiki 页面的更新。
- 设计:组项目中添加、更新和移除的设计。
- 团队:加入和离开组项目的组成员。
创建组
要创建组:
- 在左侧边栏,顶部,选择新建( )和新组。
- 选择创建组。
- 在组名称文本框中,输入组名称。有关不能用作组名称的单词列表,请参阅 保留名称。
- 在组 URL文本框中,输入用于命名空间的组路径。
- 选择组的可见性级别。
- 可选。个性化你的 GitLab 体验:
- 对于谁将使用此组?,选择一个选项。
- 从**您将使用此组做什么?**下拉列表中,选择一个选项。
- 可选。要邀请成员加入组,在电子邮件 1文本框中,输入你要邀请的用户电子邮件地址。要邀请更多用户,选择邀请其他成员并输入用户的电子邮件地址。
- 选择创建组。
有关组的详细信息,请观看 GitLab 命名空间(用户、组和子组)。
编辑组名称、描述和头像
你可以从组常规设置中编辑组详细信息。
先决条件:
- 你必须拥有组的所有者角色。
要编辑组详细信息:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择设置 > 常规。
- 在组名称文本框中,输入你的组名称。请参阅组名称的限制。
- 可选。在**组描述(可选)**文本框中,输入你的组描述。 描述限制为 500 个字符。
- 可选。在组头像下,选择选择文件,然后选择一个图像。理想图像尺寸为 192 x 192 像素,最大允许文件大小为 200 KB。
- 选择保存更改。
离开组
当你离开组时:
- 你不再是该组、其子组和项目的成员,无法贡献。
- 所有分配给你的问题和合并请求都将被取消分配。
要离开组:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 在组概览页面,右上角,选择操作( )。
- 选择离开组,然后再次选择离开组。
删除组
要删除组及其内容:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择设置 > 常规。
- 展开高级部分。
- 在删除组部分,选择删除组。
- 在确认对话框中,输入组名称并选择确认。
你也可以从组仪表板删除组:
- 在左侧边栏,选择搜索或跳转至。
- 选择查看我的所有组。
- 选择( )你想要删除的组。
- 选择删除。
- 在删除组部分,选择删除组。
- 在确认对话框中,输入组名称并选择确认。
此操作会添加后台作业以标记组进行删除。在 GitLab.com 上,组将在 30 天后删除。在 GitLab Self-Managed 上, 你可以通过实例设置修改保留期。
如果安排删除组的用户在删除发生前失去对组的访问权限(例如通过离开组、角色降级或被禁止访问组), 删除作业将改为恢复并取消归档该组,因此该组将不再被安排删除。
如果安排删除组的用户在作业运行前重新获得所有者角色或管理员访问权限,则作业将永久删除该组。
查看待删除的组
要查看待删除组的列表:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择查看我的所有组。
- 选择非活动选项卡。
标记为删除的组被标记为待删除。
立即删除组
如果你不想等待,可以立即删除组。
先决条件:
- 你必须拥有组的所有者角色。
- 你已经将组标记为删除。
要立即标记为删除的组:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择设置 > 常规。
- 展开高级。
- 在永久删除组部分,选择删除组。
- 在要求确认时确认操作。
此操作将删除组、其子组、项目以及所有相关资源,包括问题和合并请求。
恢复组
要恢复标记为删除的组:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择设置 > 常规。
- 展开高级部分。
- 在恢复组部分,选择恢复组。
请求访问组
作为用户,如果管理员允许,你可以请求成为组的成员。
- 在左侧边栏,选择搜索或跳转至。
- 选择查看我的所有组。
- 在右上角,选择探索组。
- 在按名称搜索文本框中,输入你想要加入的组名称。
- 在搜索结果中,选择组名称。
- 在组页面上,组名称下方,选择请求访问。
最近活动的最多十个组所有者会收到包含你请求的电子邮件。 任何组所有者都可以批准或拒绝请求。
如果你在请求被批准前改变主意,选择 撤回访问请求。
查看组成员
要查看组的成员:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择管理 > 成员。
表格显示成员的:
- 账户名称和用户名。
- 其成员资格的来源。 为了透明度,GitLab 显示组成员的所有成员资格来源。 具有多个成员资格来源的成员被显示并计为单独的成员。 例如,如果一个成员被直接添加到组中并通过继承添加, 该成员在成员表中显示两次,具有不同的来源, 并被计为组的两个单独成员。
- 在组中的角色。
- 其组成员资格的过期日期。
- 与其账户相关的活动。
组成员来源的显示可能不一致。 有关更多信息,请参阅问题 23020。
要在顶级命名空间中查看所有命名空间成员(及其各自占用的席位),请查看使用配额页面。
筛选和排序组成员
要在组中查找成员,你可以排序、筛选或搜索。
筛选组
筛选组以查找成员。默认情况下,显示组中的所有成员和子组成员。
在组成员列表中,条目可以显示以下徽章:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择管理 > 成员。
- 在成员列表上方,筛选成员文本框中,输入你的搜索条件。要查看:
- 组的直接成员,选择成员资格 = 直接。
- 组的继承、共享和继承共享成员,选择成员资格 = 间接。
- 启用或禁用双因素认证的成员,选择2FA = 已启用或2FA = 已禁用。
- 顶级组的企业用户,选择Enterprise = true。
搜索组
你可以按姓名、用户名或公开电子邮件搜索成员。
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择管理 > 成员。
- 在成员列表上方,筛选成员框中,输入搜索条件。
- 在筛选成员框右侧,选择放大镜( )。
排序组成员
你可以按账户、访问授予时间、角色或上次登录对成员进行排序。
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择管理 > 成员。
- 在成员列表上方,右上角,从账户列表中, 选择筛选条件。
- 要在升序和降序之间切换排序,在账户列表右侧,选择箭头 ( 或 )。
向组添加用户
你可以让用户访问组中的所有项目。
先决条件:
- 你必须拥有组的所有者角色。
- 对于 GitLab Self-Managed 实例:
-
在左侧边栏,选择搜索或跳转至并找到你的组。
-
选择管理 > 成员。
-
选择邀请成员。
-
如果用户:
- 有 GitLab 账户,输入用户名。
- 没有 GitLab 账户,输入用户的电子邮件地址。
-
可选。对于访问过期日期,输入或选择一个日期。 从该日期起,用户无法再访问项目。
如果输入访问过期日期,组成员会在访问过期前七天收到电子邮件通知。
维护者在角色过期前拥有完全权限,包括延长自己访问过期日期的能力。
-
选择邀请。 如果你通过以下方式邀请用户:
- GitLab 用户名,用户被添加到成员列表。
- 电子邮件地址,用户收到电子邮件邀请并被提示创建账户。 如果邀请未被接受,GitLab 会在两天、五天和十天后发送提醒电子邮件。 未接受的邀请在 90 天后自动删除。
未自动添加的成员显示在已邀请选项卡上。 此选项卡包括以下用户:
查看待提升用户
如果管理员审批角色提升已开启,将现有用户提升为计费角色的成员资格请求需要管理员审批。
要查看待提升用户:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择管理 > 成员。
- 选择角色提升选项卡。
如果未显示角色提升选项卡,则该组没有待处理的提升。
从组中移除成员
先决条件:
- 你必须拥有所有者角色。
- 该成员必须具有组的直接成员资格。如果 成员资格是从父组继承的,则只能从父组中移除该成员。
要从组中移除成员:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择管理 > 成员。
- 在要移除的成员旁边,选择垂直省略号( )。
- 选择移除成员。
- 可选。在移除成员确认对话框中,选择一个或两个复选框:
- 同时从子组和项目中移除直接用户成员资格
- 同时取消此用户与链接问题和合并请求的分配
- 选择移除成员。
GitLab 管理员还可以确保被移除的用户无法重新邀请自己。
向组添加项目
你可以通过两种方式向组添加新项目:
-
选择一个组,然后选择新项目。然后你可以继续创建你的项目。
-
在创建项目时,从下拉列表中选择一个组。
指定谁可以向组添加项目
默认情况下,至少具有以下角色的用户可以:
- 开发者角色可以在组下创建项目。此默认设置可以更改。
- 维护者角色可以将项目分叉到组中。此默认设置阻止开发者角色分叉包含受保护分支的项目,并且无法更改。
要指定哪些角色可以在组中创建项目:
- 在左侧边栏,选择搜索或跳转至并找到你的组。
- 选择设置 > 常规。
- 展开权限和组功能部分。
- 从创建项目的最低所需角色中,选择一个选项。
- 选择保存更改。
有关更改此全局设置的更多信息,请参阅创建项目的默认最低所需角色。