教程:设置您的组织
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed
在 GitLab 中,您通过以下方式设置和管理公司的 GitLab 组织:
- 创建群组、子群组和项目。
- 为群组成员在这些群组和项目中分配不同的角色。
在本教程中,您是一家小型软件公司的 IT 管理员。该公司使用 GitLab,并分为营销、销售和开发部门。
您已经设置了营销和销售组织。在本教程中,您将设置软件开发组织。该组织有以下正式员工:
- 一名 IT 管理员:您。
- 一名产品经理:Alex Smith。
- 一名工程经理:Blake Wang。
- 三名软件开发人员:Charlie Devi、Devon Ivanov、Evan Kim。
- 一名 UX 设计师:Frankie Ali。
- 一名技术文档编写者:Grayson Garcia。
该组织还有一名承包商内容策略师:Hunter Silva。
您将要创建:
- 软件开发组织。
- 用于管理工作的群组、子群组和项目。
- 添加到群组和项目的用户,并为这些用户分配角色。
- 组织中用于特定工作的项目,并将用户添加到该项目中。
开始之前
- 确保您拥有 GitLab Self-Managed 的管理员访问权限。
创建组织父群组和子群组
首先,您创建一个名为 Development 的群组,作为整个软件开发组织的父群组。
- 打开 GitLab Self-Managed。
- 在左侧边栏顶部,选择 创建新( )和 新建群组。
- 选择 创建群组。
- 在 群组名称 中输入
Development。 - 在 群组 URL 中输入
development-group。您会看到一条消息提示"群组路径可用"。群组 URL 用于命名空间。 - 对于可见性级别,将群组设置为 私有。这意味着该群组的所有子群组也必须是私有的。
- 通过回答以下问题个性化您的 GitLab 体验:
- 对于 角色,选择 开发团队负责人。 此角色与影响成员权限的角色不同。
- 对于 谁将使用此群组?,选择 我的公司或团队。
- 对于 您将使用此群组做什么?,选择 我想存储我的代码。
- 暂不要邀请任何 GitLab 成员或其他用户加入群组。
- 选择 创建群组。
在 GitLab 中,命名空间提供了一个组织相关项目的位置。
您已经创建了组织的父群组。接下来您将创建子群组。
创建组织子群组
在本教程中,我们假设 Development 组织分为以下工作区域:
- 产品管理。
- 工程。
- 用户体验。
- UX 设计。
- 技术文档编写。
现在您将创建子群组来反映此组织结构。
子群组和项目的可见性设置必须至少与其父群组的可见性设置一样严格。 例如,您不能有私有父群组和公共子群组。
- 在左侧边栏,选择 搜索或跳转至。
- 选择 查看我的所有群组。
- 选择 Development。您应该会在群组名称旁边看到 所有者 标签,因为您拥有所有者角色。
- 在父群组的概览页面右上角,选择 新建子群组。
- 在 子群组名称 中输入
Product Management。 - 子群组标识符 会自动填充为 product-management。 请勿更改此字段。
- 对于 可见性级别,您只能选择 私有,因为父群组 Development 也是私有的。
- 选择 创建子群组。
- 为以下子群组重复此操作:
Engineering。User Experience。UX Design。Technical Writing。
UX Design 和 Technical Writing 是嵌套在 User Experience 子群组中的子群组。
您现在已经创建了组织的子群组。接下来您将为组织创建用户。
为您的组织创建用户
现在您将为您的组织手动创建用户。这些是测试用户。要创建第一个测试用户 Alex Smith:
- 在左侧边栏底部,选择 管理。
- 选择 概览 > 用户。
- 选择 新建用户。
- 填写必填字段:
- 姓名:
Alex Smith - 用户名:
alexsmith - 邮箱:
[email protected] - 将所有其他字段保持原样。
- 姓名:
- 选择 创建用户。
对于真实用户,会向用户的邮箱发送重置链接,并且该用户在首次登录时必须设置密码。但是,由于此用户是使用虚假邮箱的测试用户,您必须在不使用邮件确认的情况下设置用户密码。
设置测试用户密码
- 选择该用户。
- 选择 编辑。
- 填写密码和密码确认字段。
- 选择 保存更改。
您已经创建了第一个测试用户。现在为其他用户重复此操作:
| 姓名 | 用户名 | 邮箱 |
|---|---|---|
Blake Wang |
blakewang |
[email protected] |
Charlie Devi |
charliedevi |
[email protected] |
Devon Ivanov |
devonivanov |
[email protected] |
Evan Kim |
evankim |
[email protected] |
Frankie Ali |
frankieali |
[email protected] |
Grayson Garcia |
graysongarcia |
[email protected] |
Hunter Silva |
huntersilva |
[email protected] |
您已经为您的组织创建了用户。接下来您将把这些用户添加到不同的群组和子群组中。
将用户添加到群组和子群组
您可以通过将用户添加到群组来让他们访问该群组中的所有项目。
首先,您将所有用户添加到父群组 Development 中。
-
在左侧边栏,选择 搜索或跳转至 并找到 Development 群组。
-
选择 管理 > 成员。
-
选择 邀请成员。
-
填写产品经理 Alex Smith 的字段:
- 给 Alex 分配 所有者 角色。该角色适用于群组中的所有子群组项目。
- 将 访问过期日期 留空。
-
选择 邀请。
-
为以下用户重复此过程:
用户 角色 访问过期日期 Blake Wang 维护者 留空 Charlie Devi 开发者 留空 Devon Ivanov 开发者 留空 Evan Kim 开发者 留空 Frankie Ali 报告者 留空 Grayson Garcia 报告者 留空 Hunter Silva 访客 2025-12-31如果用户具有相同的角色和访问过期日期,您可以同时邀请多个用户。
确认设置正确
在 Development 群组和所有子群组的 群组成员 页面上,检查这些群组的成员资格。
- 来源 是用户成为该群组成员的来源。添加的成员是直接成员,因为您是直接将他们添加到群组中的。
- 最高角色 是添加的成员在该群组中被允许拥有的最高访问级别。 您可以使用此列中的下拉列表更改添加成员在该群组中的角色。
所有您添加为父群组成员的用户也是所有子群组的成员,具有相同的角色。
按成员资格类型筛选子群组
您可以筛选子群组以显示哪些用户是该子群组的直接成员,哪些成员是从父群组继承成员资格的。
- 在左侧边栏,选择 搜索或跳转至 并找到 Development 群组。
- 选择 User Experience 子群组。
- 在左侧边栏,选择 子群组信息 > 成员。
- 在 成员 页面上,选择 筛选成员 字段。
- 选择 成员资格,然后选择 继承,并按 回车。
您现在只能看到继承该子群组成员资格的 User Experience 子群组成员。
您希望每个用户只与其在组织中的角色相关联的子群组成为成员。您决定从群组和子群组中移除这些用户。
从群组和子群组中移除用户
您不能直接从子群组中移除成员。您只能从父群组中移除他们。
返回父群组,移除除 Alex Smith 之外的所有人:
- 在左侧边栏,选择 搜索或跳转至 并找到父群组。
- 选择 管理 > 成员。
- 在要移除的成员行上,选择垂直省略号( ),然后选择 移除成员。
- 在 移除成员 确认框中,选择 同时从子群组和项目中移除直接用户成员资格 复选框。
- 选择 移除成员。
您现在在父群组和子群组中只有一个成员,该成员具有所有者角色。
接下来您将直接将用户添加到子群组中。
将用户添加到子群组
现在您将直接将用户添加到不同的子群组中。
将用户添加到产品管理子群组
- 在左侧边栏,选择 搜索或跳转至 并找到 Development 群组。
- 选择 Product Management 子群组。
- 在左侧边栏,选择 子群组信息 > 成员。
除了您,Alex 是该子群组中唯一的成员,并且是直接成员,这是正确的。但是,您认为他们应该具有维护者角色而不是所有者角色。
更改子群组中的用户角色
您不能直接在成员页面上更改他们的角色。要更改他们在子群组中的角色,请以维护者身份邀请他们加入子群组。
- 选择 邀请成员。
- 填写产品经理 Alex Smith 的字段:
- 给 Alex 分配 维护者 角色。
- 将 访问过期日期 留空。
- 选择 邀请。
您将看到以下消息:
以下成员无法被邀请
查看邀请错误并重试:
- Alex Smith:访问级别应大于或等于从群组 Development 继承的所有者成员资格您不能给 Alex 一个访问级别低于其子群组父群组角色的子群组角色,因为他们从父群组继承了成员资格。
您决定让 Alex 保持为该子群组的所有者,这符合他们在组织中的角色。选择 取消 以取消此邀请。
产品管理子群组具有正确的成员和角色。接下来您将把用户添加到工程子群组中。
将用户添加到工程子群组
现在您将邀请一些用户加入工程子群组。
-
在左侧边栏,选择 搜索或跳转至 并找到 Development 群组。
-
选择 Engineering 子群组。
-
在左侧边栏,选择 子群组信息 > 成员。唯一的成员是您和 Alex,都具有所有者角色。这些是继承的角色。
-
选择 邀请成员。
-
为以下成员填写字段:
用户 角色 访问过期日期 Blake Wang 维护者 留空 Charlie Devi 开发者 留空 Devon Ivanov 开发者 留空 Evan Kim 开发者 留空 -
选择 邀请。
Blake Wang 在该子群组中具有维护者角色,符合他作为工程经理的职责。三名开发者都具有开发者角色。这些是直接角色。
-
您可以直接在该子群组的成员页面上更改他们的角色。将 Blake Wang 更改为该子群组的所有者。
-
返回 Development 群组的成员页面。您可以看到工程子群组的成员不是父群组的成员。
通过直接将用户添加到他们需要加入的群组和子群组,您可以避免用户不必要地成为群组成员的问题。您可以更精确地控制对不同群组和项目的访问。
将用户添加到用户体验子群组
用户体验子群组有两个嵌套的子群组:
- UX 设计。
- 技术文档编写。
在用户方面,UX 设计应该只包括 Frankie Ali 和 Hunter Silva,技术文档编写应该只包括 Grayson Garcia。
如果您将所有三个用户都添加到用户体验子群组,由于继承的权限,他们都将包含在两个嵌套的子群组中。
因此,您将直接将这些用户添加到适当的嵌套子群组,而不是添加到用户体验子群组。
-
在左侧边栏,选择 搜索或跳转至 并找到 Development 群组。
-
选择 User Experience 子群组,然后选择 UX Design 子群组。
-
在左侧边栏,选择 子群组信息 > 成员。您和 Alex Smith 目前是唯一的成员。这些是继承的角色。
-
选择 邀请成员。
-
为以下成员填写字段并选择 邀请:
用户 角色 访问过期日期 Frankie Ali 维护者 留空 Hunter Silva 访客 2025-12-31 -
为 技术文档编写 子群组重复此操作:
用户 角色 访问过期日期 Grayson Garcia 维护者 留空
您已经将用户添加到他们适当的嵌套子群组中。您决定 Grayson Garcia 也应该在 User Experience 子群组中。
将用户添加到其他子群组
您可以将 Grayson 添加到 User Experience 子群组作为特定角色,同时保持他们在 技术文档编写 子群组中的角色不变。
- 转到 User Experience 子群组。
- 在左侧边栏,选择 子群组信息 > 成员。您和 Alex Smith 目前是唯一的成员。这些是继承的角色。
- 选择 邀请成员。
- 将 Grayson Garcia 邀请为开发者,这是一个比他们在 技术文档编写 子群组的维护者角色权限更低的角色。
这意味着 Grayson Garcia 在用户体验子群组中没有不必要的权限级别。
但是,由于继承的权限,将 Grayson Garcia 添加到用户体验子群组也会将他们添加到 UX Design 嵌套子群组作为开发者。
请注意群组和子群组的继承权限。将用户添加到最少数量的群组和子群组,以最小化意外将用户添加到他们不需要加入的群组的可能性。
- 转到用户体验子群组成员页面。
- 将 Frankie Ali 和 Hunter Silva 添加为 报告者。给 Hunter 相同的过期日期。
- 转到技术文档编写嵌套子群组。
由于继承的权限,Frankie Ali 和 Hunter Silva 现在是技术文档编写子群组的成员。
您已成功使用群组、子群组和成员设置您的组织。
接下来您将在其中一个群组中创建一个项目供成员工作。
创建项目
现在,假设您有一项工作,您组织中的某些成员需要处理,并且这项工作是面向整个组织的。为了组织这项工作,您将在 Development 父群组中创建一个项目,并向该项目添加不同的用户。
- 在左侧边栏,选择 搜索或跳转至 并找到 Development 群组。
- 选择 创建新( )和 新建项目/仓库。
- 选择 创建空白项目。
- 输入项目详细信息:
- 在 项目名称 字段中,输入
Release 2.0作为您的项目名称。 - 将 项目标识符 字段保持原样,该字段基于项目名称。
- 要修改项目的用户查看和访问权限,您可以更改 可见性级别。鉴于父群组是私有的,项目也只能是 私有 的。
- 要创建
README文件以便初始化 Git 仓库、拥有默认分支并且可以克隆,请选择 使用 README 初始化仓库 复选框。 - 要分析项目中的源代码以查找已知的安全漏洞,请选择 启用静态应用程序安全测试(SAST) 复选框。
- 要分析源代码中的密钥和凭据以防止未经授权的访问,请选择 启用密钥检测 复选框。
- 在 项目名称 字段中,输入
- 选择 创建项目。
您现在已在父群组中创建了一个项目。
在此项目中,转到 管理 > 成员。
父群组的现有成员(您和 Alex)已经是该项目的成员,因为当您的项目属于一个群组时,项目成员会从群组继承他们的角色。
还有其他用户需要成为该项目的一部分。您现在将直接向该项目添加用户。
将用户添加到项目和父群组
-
在左侧边栏,选择 搜索或跳转至 并找到 Release 2.0 项目。
-
在左侧边栏,选择 管理 > 成员。
-
选择 邀请成员。邀请以下用户:
用户 角色 访问过期日期 Charlie Devi 维护者 留空 Frankie Ali 维护者 留空 Grayson Garcia 维护者 留空 -
选择 邀请。
-
由于您直接将这些用户添加到项目中,如果需要,您可以在项目成员页面上更改他们的角色。将 Grayson Garcia 的角色更改为 开发者 以进行测试。
-
转到 Development 父群组成员页面。尽管项目位于父群组中,但您刚刚添加到项目的用户并不在那里。
-
将相同的用户直接添加到父群组,角色为 访客。您可以直接在此页面上更改他们的角色。将 Frankie 的角色更改为 报告者。
-
返回 Release 2.0 项目成员页面。成员的项目角色仍然是 2 个维护者和 1 个开发者。
您已成功将三名子群组成员添加到父群组中的项目,并给了这些用户在项目和父群组中的特定角色。