子群组

  • Tier: 基础版,专业版,旗舰版
  • Offering: JihuLab.com,私有化部署

您可以将极狐GitLab 群组组织成子群组。您可以使用子群组来:

  • 区分内部和外部内容。由于每个子群组可以有自己的可见性级别,您可以在同一个父群组下托管用于不同目的的群组。
  • 组织大型项目。您可以使用子群组来管理谁可以访问部分源代码。
  • 管理权限。为每个群组的用户提供不同的角色,他们是该群组的成员

子群组可以:

  • 属于一个直接父群组。
  • 拥有许多子群组。
  • 嵌套多达 20 个层级。
  • 使用注册到父群组的runners
    • 为父群组配置的密钥对子群组作业可用。
    • 在属于子群组的项目中至少具有维护者角色的用户可以看到注册到父群组的 runners 的详细信息。

例如:

Rendering chart...

查看群组的子群组#

先决条件:

  • 要查看私有嵌套子群组,您必须是私有子群组的直接或继承成员。

查看群组的子群组:

  1. 在左侧边栏中,选择 搜索或前往 并找到您的群组。
  2. 选择 子群组和项目 标签。
  3. 选择您要查看的子群组。要查看嵌套子群组,请展开 () 一个子群组。

公共父群组中的私有子群组#

在层次结构列表中,具有私有子群组的公共群组有一个展开选项 (

),这表明该群组有嵌套子群组。所有用户都可以查看展开选项 (),但只有私有子群组的直接或继承成员可以查看私有群组。

如果您希望将嵌套子群组的存在信息保密,您应该仅向私有父群组添加私有子群组。

创建子群组#

先决条件:

您无法使用顶级域名托管极狐GitLab Pages子群组网站。例如,`subgroupname.example.io`。

创建子群组:

  1. 在左侧边栏中,选择 搜索或前往 并找到您要在其中创建子群组的群组。
  2. 在父群组的概览页面中,右上角选择 新建子群组
  3. 填写字段。查看不能用作群组名称的保留名称列表
  4. 选择 创建子群组

更改谁可以创建子群组#

先决条件:

  • 取决于群组的设置,您必须至少在群组中拥有维护者角色。

更改谁可以在群组中创建子群组:

  • 作为群组的拥有者角色的用户:
    1. 在左侧边栏中,选择 搜索或前往 并找到您的群组。
    2. 选择 设置 > 常规
    3. 展开 权限和群组功能
    4. 允许创建子群组的角色 中选择一个选项。
    5. 选择 保存更改
  • 作为管理员:
    1. 在左侧边栏底部,选择 管理员
    2. 在左侧边栏中,选择 概览 > 群组 并找到您的群组。
    3. 在群组的行中选择 编辑
    4. 允许创建子群组 下拉列表中选择一个选项。
    5. 选择 保存更改

有关更多信息,请查看权限表

子群组成员资格#

History
    • 在极狐GitLab 16.10 中做了更改,会在成员页面的成员标签中显示邀请的群组成员,使用名为 webui_members_inherited_users功能标志。默认禁用。
    • 在极狐GitLab 17.0 中,在 JihuLab.com 和极狐GitLab私有化部署上启用。
    • 在极狐GitLab 17.4 中,移除了功能标志 webui_members_inherited_users。默认情况下显示邀请群组成员。

当您向群组添加成员时,该成员也被添加到该群组的所有子群组中。成员的权限从群组继承到所有子群组。

子群组成员可以是:

  1. 子群组的直接成员
  2. 从子群组的父群组继承的子群组成员。
  3. 与子群组顶级群组共享的群组的成员。
  4. 间接成员包括继承成员和邀请到子群组或其祖先的群组的成员。
Rendering chart...

群组成员权限只能由以下用户更改:

  • 拥有群组的拥有者角色的用户。
  • 更改成员被添加到的群组的配置。

确定成员资格继承#

查看成员是否从父群组继承了权限:

  1. 在左侧边栏中,选择 搜索或前往 并找到您的群组。
  2. 选择 管理 > 成员。成员的继承显示在 来源 列中。

示例子群组 Four 的成员列表:

群组成员页面

在上面的截图中:

  • 五名成员可以访问群组 Four
  • 用户 0 在群组 Four 上具有报告者角色,并从群组 One 继承了权限:
    • 用户 0 是群组 One 的直接成员。
    • 群组 One 在层次结构中位于群组 Four 之上。
  • 用户 1 在群组 Four 上具有开发者角色,并从群组 Two 继承了权限:
    • 用户 0 是群组 Two 的直接成员,该群组是群组 One 的子群组。
    • 群组 One / Two 在层次结构中位于群组 Four 之上。
  • 用户 2 在群组 Four 上具有开发者角色,并从群组 Three 继承了权限:
    • 用户 0 是群组 Three 的直接成员,该群组是群组 Two 的子群组。群组 Two 是群组 One 的子群组。
    • 群组 One / Two / Three 在层次结构中位于群组 Four 之上。
  • 用户 3 是群组 Four 的直接成员。这意味着他们直接从群组 Four 获得维护者角色。
  • 管理员在群组 Four 上具有拥有者角色并且是所有子群组的成员。因为这个原因,与用户 3 一样,来源 列表明他们是直接成员。

成员可以通过继承或直接成员资格进行过滤

覆盖祖先群组成员资格#

拥有子群组拥有者角色的用户可以向其添加成员。

您不能在子群组中为用户提供低于用户在父群组中的角色。如果要覆盖用户在父群组中的角色,请再次添加用户到子群组中并提供更高的角色。例如:

  • 如果用户 1 以开发者角色添加到群组 Two,用户 1 在群组 Two 的每个子群组中继承该角色。
  • 为了在群组 Four 中为用户 1 提供维护者角色(位于 One / Two / Three 下),再次将用户 1 添加到群组 Four 并提供维护者角色。
  • 如果用户 1 从群组 Four 中移除,用户的角色将回退到他们在群组 Two 中的角色。用户 1 在群组 Four 中再次具有开发者角色。

提及子群组#

在史诗、议题、提交和合并请求中提及子群组(@<subgroup_name>)会通知该群组的所有直接成员。子群组的继承成员不会收到提及通知。提及的工作方式与项目和群组相同,您可以选择要通知的成员群组。