教程:设置您的组织

  1. Tier: 基础版,专业版,旗舰版
  2. Offering: 私有化部署

在极狐GitLab 中,您可以通过以下方式设置和管理公司的极狐GitLab 组织:

  1. 创建群组、子群组和项目。
  2. 为群组和项目中的群组成员分配不同的角色。

在本教程中,您是一家小型软件公司的 IT 管理员。该公司使用极狐GitLab,分为营销、销售和开发部门。

您已经设置了营销和销售组织。在本教程中,您将设置软件开发组织。该组织有以下固定员工:

  1. 一名 IT 管理员:您。
  2. 一名产品经理:Alex Smith。
  3. 一名工程经理:Blake Wang。
  4. 三名软件开发人员:Charlie Devi、Devon Ivanov、Evan Kim。
  5. 一名 UX 设计师:Frankie Ali。
  6. 一名技术写作人员:Grayson Garcia。

该组织还有一名承包商内容策略师,Hunter Silva。

您将创建:

  1. 软件开发组织。
  2. 管理工作的群组、子群组和项目。
  3. 添加到群组和项目的用户,并为这些用户分配角色。
  4. 在组织中为特定工作创建一个项目,并将用户添加到该项目中。

在您开始之前#

  1. 确保您拥有极狐GitLab 私有化部署的管理员访问权限。

创建组织父群组和子群组#

您首先创建一个群组,Development,作为整个软件开发组织的父群组。

  1. 打开极狐GitLab 私有化部署。
  2. 在左侧边栏顶部,选择 创建新的 () 和 新群组
  3. 选择 创建群组
  4. 群组名称 中,输入 Development
  5. 群组 URL 中为群组输入 development-group。您会看到一条消息,显示“群组路径可用”。群组 URL 用于命名空间。
  6. 对于可见性级别,请将群组设为 私有。这意味着此群组的任何子群组也必须是私有的。
  7. 通过回答以下问题个性化您的极狐GitLab 体验:
    • 对于 角色,选择 开发团队负责人。此角色与影响成员权限的角色不同。
    • 对于 谁将使用此群组?,选择 我的公司或团队
    • 对于 您将使用此群组做什么?,选择 我想存储我的代码
  8. 暂时不要邀请任何极狐GitLab 成员或其他用户加入群组。
  9. 选择 创建群组

在极狐GitLab 中,命名空间提供了一个组织相关项目的地方。

您已经为您的组织创建了父群组。接下来您将创建子群组。

创建组织子群组#

在本教程中,我们假设开发组织为以下工作领域:

  1. 产品管理。
  2. 工程。
  3. 用户体验。
    • UX 设计。
    • 技术写作。

您现在将创建子群组以反映此组织结构。

子群组和项目必须具有至少与其父群组的可见性设置同样严格的可见性设置。例如,您不能拥有一个私有父群组和一个公共子群组。

  1. 在左侧边栏中,选择 搜索或转到
  2. 选择 查看我的所有群组
  3. 选择 Development。您应该在群组名称旁边看到一个 所有者 标签,因为您具有所有者角色。
  4. 在父群组的概览页面右上角,选择 新子群组
  5. 子群组名称 中,输入 Product Management
  6. 子群组 slug 自动完成为 product-management。不要更改此字段。
  7. 对于 可见性级别,您只能选择 私有,因为父群组 Development 也是私有的。
  8. 选择 创建子群组
  9. 对以下子群组重复操作:
    • Engineering
    • User Experience
      • UX Design
      • Technical Writing

UX 设计和技术写作是嵌套在用户体验子群组中的子群组。

您已经为您的组织创建了子群组。接下来您将为组织创建用户。

为您的组织创建用户#

您将手动为您的组织创建用户。这些是测试用户。要创建第一个测试用户,Alex Smith:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 概览 > 用户
  3. 选择 新用户
  4. 完成所需字段:
    • 名称Alex Smith
    • 用户名alexsmith
    • 电子邮件alexsmith@example.com
    • 保留所有其他字段不变。
  5. 选择 创建用户

对于真实用户,重置链接会发送到用户的电子邮件,该用户在首次登录时被强制设置密码。然而,由于此用户是具有虚假电子邮件的测试用户,您必须在不使用电子邮件确认的情况下设置用户的密码。

设置测试用户的密码#

  1. 选择用户。
  2. 选择 编辑
  3. 完成密码和密码确认字段。
  4. 选择 保存更改

您已经创建了第一个测试用户。现在为其他用户重复此操作:

名称用户名电子邮件
Blake Wangblakewangblakewang@example.com
Charlie Devicharliedevicharliedevi@example.com
Devon Ivanovdevonivanovdevonivanov@example.com
Evan Kimevankimevankim@example.com
Frankie Alifrankiealifrankieali@example.com
Grayson Garciagraysongarciagraysongarcia@example.com
Hunter Silvahuntersilvahuntersilva@example.com

您已经为您的组织创建了用户。接下来您将这些用户添加到不同的群组和子群组中。

将用户添加到群组和子群组#

您可以通过将用户添加到群组来为用户提供访问该群组中所有项目的权限。

首先,您将所有用户添加到父群组 Development。

  1. 在左侧边栏中,选择 搜索或转到 并找到 Development 群组。

  2. 选择 管理 > 成员

  3. 选择 邀请成员

  4. 为产品经理 Alex Smith 完成字段。

    • 给 Alex 分配 所有者 角色。该角色适用于群组中的所有子群组项目。
    • 访问过期日期 保留为空白。
  5. 选择 邀请

  6. 为以下用户重复此过程:

    用户角色访问过期日期
    Blake Wang维护者保留为空白
    Charlie Devi开发者保留为空白
    Devon Ivanov开发者保留为空白
    Evan Kim开发者保留为空白
    Frankie Ali报告者保留为空白
    Grayson Garcia报告者保留为空白
    Hunter Silva客人2025-12-31

    如果多个用户具有相同的角色和访问过期日期,您可以同时邀请他们。

确认一切设置正确#

在 Development 群组和所有子群组的 群组成员 页面上,检查这些群组的成员资格。

来源 是用户成员资格来源。添加的成员是直接成员,因为您直接将他们添加到群组。

最大角色 是添加成员在此群组中允许的最高访问级别。您可以使用此列中的下拉列表更改添加成员在此群组中的角色。

您作为父群组成员添加的所有用户也都是所有子群组的成员,角色相同。

按成员类型筛选子群组#

您可以筛选子群组以显示哪些用户是该子群组的直接成员,哪些成员是从父群组继承该子群组的成员资格。

  1. 在左侧边栏中,选择 搜索或转到 并找到 Development 群组。
  2. 选择 用户体验 子群组。
  3. 在左侧边栏中,选择 子群组信息 > 成员
  4. 成员 页面上,选择 筛选成员 字段。
  5. 选择 成员资格,然后选择 继承的,然后按 Return

您现在只会看到从该子群组继承成员资格的用户体验子群组成员。

您希望每个用户仅成为与其在组织中的角色相关的子群组的成员。您决定将用户从群组和子群组中移除。

从群组和子群组中移除用户#

您不能直接从子群组中移除成员。您只能将他们从父群组中移除。

返回父群组并移除除 Alex Smith 外的所有人:

  1. 在左侧边栏中,选择 搜索或转到 并找到父群组。
  2. 选择 管理 > 成员
  3. 在要移除的成员行上,选择垂直省略号 () 然后选择 移除成员
  4. 移除成员 确认框中,选择 同时从子群组和项目中移除直接用户成员资格 复选框。
  5. 选择 移除成员

您现在在父群组和子群组中只有一个成员,该成员具有所有者角色。

接下来您将直接向子群组添加用户。

将用户添加到子群组#

您将现在直接向不同的子群组添加用户。

将用户添加到产品管理子群组#

  1. 在左侧边栏中,选择 搜索或转到 并找到 Development 群组。
  2. 选择 产品管理 子群组。
  3. 在左侧边栏中,选择 子群组信息 > 成员

除您之外,Alex 是该子群组的唯一成员,并且是直接成员,这是正确的。然而,您认为他们应该拥有维护者角色而不是所有者角色。

更改子群组中的用户角色#

您无法直接在成员页面上更改他们的角色。要更改他们在子群组中的角色,请邀请他们成为维护者。

  1. 选择 邀请成员
  2. 为产品经理 Alex Smith 完成字段。
    • 给 Alex 分配 维护者 角色。
    • 访问过期日期 保留为空白。
  3. 选择 邀请

您将看到以下消息:

plaintext
以下成员无法被邀请 查看邀请错误并重试: - Alex Smith:访问级别应大于或等于从群组 Development 继承的所有者成员资格

您不能为 Alex 提供子群组角色,该角色的访问级别低于他们在子群组父群组中的角色,因为他们拥有从父群组继承的成员资格。

您决定让 Alex 在此子群组中保持所有者角色,因为考虑到他们在组织中的角色,这是合适的。选择 取消 以取消此邀请。

产品管理子群组具有正确的成员和角色。接下来您将向工程子群组添加用户。

将用户添加到工程子群组#

您现在将邀请一些用户加入工程子群组。

  1. 在左侧边栏中,选择 搜索或转到 并找到 Development 群组。

  2. 选择 工程 子群组。

  3. 在左侧边栏中,选择 子群组信息 > 成员。唯一的成员是您和 Alex,两者都具有所有者角色。这些是继承的角色。

  4. 选择 邀请成员

  5. 为以下成员完成字段:

    用户角色访问过期日期
    Blake Wang维护者保留为空白
    Charlie Devi开发者保留为空白
    Devon Ivanov开发者保留为空白
    Evan Kim开发者保留为空白
  6. 选择 邀请

    Blake Wang 在这个子群组中拥有维护者角色,符合他们作为工程经理的职责。三个开发者都拥有开发者角色。这些是直接角色。

  7. 您可以直接在此子群组的成员页面上更改他们的角色。将 Blake Wang 更改为此子群组的所有者。

  8. 返回到 Development 群组的成员页面。您会看到工程子群组的成员不是父群组的成员。

通过直接将用户添加到他们需要成为成员的群组和子群组,您可以避免用户不必要地成为群组成员的问题。您可以更精确地控制对不同群组和项目的访问。

将用户添加到用户体验子群组#

用户体验子群组有两个进一步嵌套的子群组:

  1. UX 设计。
  2. 技术写作。

就用户而言,UX 设计应该只包括 Frankie Ali 和 Hunter Silva,技术写作应该只包括 Grayson Garcia。

如果您将所有三个用户添加到用户体验子群组,他们都将由于继承权限而被包含在两个嵌套子群组中。

因此,您将直接将这些用户添加到适当的嵌套子群组,而不是用户体验子群组。

  1. 在左侧边栏中,选择 搜索或转到 并找到 Development 群组。

  2. 选择 用户体验 子群组,然后选择 UX 设计 子群组。

  3. 在左侧边栏中,选择 子群组信息 > 成员。您和 Alex Smith 当前是唯一的成员。这些是继承的角色。

  4. 选择 邀请成员

  5. 完成字段并为以下成员选择 邀请

    用户角色访问过期日期
    Frankie Ali维护者保留为空白
    Hunter Silva客人2025-12-31
  6. 技术写作 子群组重复操作:

    用户角色访问过期日期
    Grayson Garcia维护者保留为空白

您已经将用户添加到他们适当的嵌套子群组中。您决定 Grayson Garcia 也应该在 用户体验 子群组中。

将用户添加到其他子群组#

您可以将 Grayson 添加到 用户体验 子群组中作为特定角色,同时保持他们在 技术写作 子群组中的角色不变。

  1. 前往 用户体验 子群组。
  2. 在左侧边栏中,选择 子群组信息 > 成员。您和 Alex Smith 当前是唯一的成员。这些是继承的角色。
  3. 选择 邀请成员
  4. 邀请 Grayson Garcia 作为开发者,一个权限级别低于他们在 技术写作 子群组中的维护者角色的角色。

这意味着 Grayson Garcia 在用户体验子群组中没有不必要的高权限级别。

然而,由于继承权限,将 Grayson Garcia 添加到用户体验子群组也将他们作为开发者添加到 UX 设计嵌套子群组中。

注意群组和子群组的继承权限。将用户添加到尽可能少的群组和子群组,以尽量减少无意中将用户添加到他们不需要成为成员的群组的可能性。

  1. 前往用户体验子群组成员页面。
  2. 添加 Frankie Ali 和 Hunter Silva 作为 报告者。为 Hunter 设置相同的过期日期。
  3. 前往技术写作嵌套子群组。

Frankie Ali 和 Hunter Silva 现在由于继承权限而成为技术写作子群组的成员。

您已经成功地设置了包含群组、子群组和成员的组织。

接下来,您将创建一个供成员工作的群组中的项目。

创建一个项目#

现在,假设您有一项工作,您的组织中的某些成员需要完成,并且该项工作是针对整个组织的。为了组织这项工作,您将在 Development 父群组中创建一个项目,并将不同的用户添加到该项目中。

  1. 在左侧边栏中,选择 搜索或转到 并找到 Release 2.0 项目。
  2. 在左侧边栏中,选择 创建新的 () 和 新项目/仓库
  3. 选择 创建空白项目
  4. 输入项目详细信息:
    • 项目名称 字段中,输入 Release 2.0 作为项目名称。
    • 保留 项目 slug 字段不变,该字段基于项目名称。
    • 要修改用户的项目查看和访问权限,您可以更改 可见性级别。鉴于父群组是私有的,项目只能是 私有
    • 要创建一个 README 文件,以便 Git 仓库已初始化,具有默认分支,并可以被克隆,请选择 使用 README 初始化仓库 复选框。
    • 要分析项目中的源代码以查找已知的安全漏洞,请选择 启用静态应用程序安全测试 (SAST) 复选框。
  5. 选择 创建项目

您现在已经在父群组中创建了一个项目。

在此项目中,前往 管理 > 成员

父群组的现有成员(您和 Alex)已经是该项目的成员,因为当您的项目属于群组时,项目成员从群组继承其角色。

还有其他用户需要成为该项目的一部分。您现在将直接将用户添加到项目中。

将用户添加到项目和父群组#

  1. 在左侧边栏中,选择 搜索或转到 并找到 Release 2.0 项目。

  2. 在左侧边栏中,选择 管理 > 成员

  3. 选择 邀请成员。邀请以下用户:

    用户角色访问过期日期
    Charlie Devi维护者保留为空白
    Frankie Ali维护者保留为空白
    Grayson Garcia维护者保留为空白
  4. 选择 邀请

  5. 因为您直接将这些用户添加到项目中,您可以在项目成员页面上根据需要更改他们的角色。将 Grayson Garcia 的角色更改为 开发者 以测试此操作。

  6. 前往 Development 父群组成员页面。您刚刚添加到项目中的用户虽然项目在父群组中,但不在那里。

  7. 将相同的用户直接添加到父群组中,角色为 客人。您可以直接在此页面上更改他们的角色。将 Frankie 的角色更改为 报告者

  8. 返回到 Release 2.0 项目成员页面。成员的项目角色仍然是 2 个维护者和 1 个开发者。

您已经成功地将三个作为子群组成员的用户添加到父群组中的项目中,并为这些用户在项目和父群组中赋予了特定角色。