可见性和访问控制 (自由自我)
GitLab 允许管理员强制执行特定控制。
要访问可见性和访问控制选项:
- 以具有 的用户身份登录 GitLab 管理员角色 。
- 在顶部栏上,选择 菜单 > {admin} 管理员 。
- 在左侧边栏中,选择 “设置”>“常规” 。
- 展开 可见性和访问控制 部分。
默认分支保护
此全局选项定义了适用于每个存储库的分支保护 默认分支 。 分支保护 指定哪些角色可以推送 到分支以及哪些角色可以删除分支。 在这种情况下, 默认 是指 存储库的 默认分支 。
此设置仅适用于每个存储库的默认分支。 要保护其他分支,您必须在存储库中配置分支保护。 有关详细信息,请参阅 受保护的分支 。
要更改默认分支保护:
- 选择所需的选项。
- 单击 保存更改 。
有关更多详细信息,请参阅 受保护的分支 。
要更改特定组的此设置,请参阅组的 默认分支保护
禁用组所有者更新默认分支保护 (PREMIUM SELF)
引入 在 GitLab 13.0 中 。
默认情况下,允许组所有者覆盖在全局级别设置的分支保护。
在 GitLab Premium 或更高版本中 ,GitLab 管理员可以禁用组所有者的此权限。
去做这个:
- 取消选中 允许所有者管理每个组的默认分支保护 复选框。
笔记: GitLab 管理员仍然可以更新组的默认分支保护。
默认项目创建保护
项目创建保护指定哪些角色可以创建项目。
要更改默认项目创建保护:
- 选择所需的选项。
- 单击 保存更改 。
有关更多详细信息,请参阅 指定谁可以将项目添加到组 。
默认项目删除保护 (PREMIUM SELF)
默认情况下,具有 的任何人都可以删除项目 所有者 角色 ,无论是在项目中还是在 组级别。
要确保只有管理员用户可以删除项目:
- 选中 默认项目删除保护 复选框。
- 单击 保存更改 。
默认删除延迟 (PREMIUM SELF)
引入 在 GitLab 12.6 中 。
默认情况下,标记为删除的项目会立即永久删除。 默认情况下,标记为删除的组会在 7 天后永久删除。
警告: 中 的默认行为 延迟项目删除 GitLab 12.6 已更改为 立即删除 在 GitLab 13.2 中 。
组中的项目(但不是个人命名空间)可以在延迟一段时间后删除,通过 在组设置中配置 。 默认期限为 7 天,可以更改。 将此时间段设置为 0
立即移除 项目或团体。
要更改此期间:
- 选择所需的选项。
- 单击 保存更改 。
覆盖默认删除延迟期
或者,可以立即删除标记为删除的项目。 这样做:
默认项目可见性
为新项目设置默认可见性级别:
- 选择所需的默认项目可见性。
- 单击 保存更改 。
有关项目可见性的更多详细信息,请参阅 项目可见性 。
默认代码段可见性
为新片段设置默认可见性级别:
- 选择所需的默认代码段可见性。
- 单击 保存更改 。
有关代码段可见性的更多详细信息,请参阅 项目可见性 。
默认组可见性
为新组设置默认可见性级别:
- 选择所需的默认组可见性。
- 单击 保存更改 。
有关组可见性的更多详细信息,请参阅 组可见性 。
受限的能见度
为项目、片段和选定页面设置受限可见性级别:
- 选择要限制的所需可见性级别。
- 选择 保存更改 。
有关项目可见性的更多详细信息,请参阅 项目可见性 。
进口来源
要指定用户可以从哪些托管站点 导入他们的项目 :
- 选中每个托管站点名称旁边的复选框。
- 单击 保存更改 。
项目导出
要启用项目导出:
- 选中 启用项目导出 复选框。
- 单击 保存更改 。
有关更多详细信息,请参阅 导出项目及其数据 。
启用 Git 访问协议
通过 GitLab 访问限制,您可以选择用户可以使用哪些协议进行通信 GitLab。
禁用访问协议不会阻止使用这些端口访问服务器本身。 港口 用于协议的 SSH 或 HTTP(S) 仍然可以访问。 GitLab 限制适用于 应用层面。
要指定启用的 Git 访问协议:
- 从下拉列表中选择所需的 Git 访问协议:
- SSH 和 HTTP(S)
- 仅 SSH
- 仅 HTTP(S)
- 单击 保存更改 。
当 SSH 和 HTTP(S) 都启用时,用户可以选择任一协议。
当仅启用一种协议时:
- 项目页面只显示允许的协议的 URL,没有选项 更改。
- 将鼠标悬停在 URL 协议上时会显示工具提示,如果操作 在用户方面是必需的。 例如,添加 SSH 密钥或设置密码。
除了这些 UI 限制之外,GitLab 还拒绝对协议执行所有 Git 操作 未选中的。
警告: GitLab 10.7 及更高版本 , 允许 GitLab Runner 执行 Git 克隆或获取请求的 HTTP(S) 协议 来自 CI/CD 作业,即使 Only SSH 选择了 。
HTTP(S) 的自定义 Git 克隆 URL
引入 在 GitLab 12.4 中 。
您可以为 HTTP(S) 自定义项目 Git 克隆 URL,这会影响克隆 控制板:
例如,如果:
- 您的 GitLab 实例位于
https://example.com
,然后项目克隆 URL 就像https://example.com/foo/bar.git
. - 你想要克隆 URL 看起来像
https://git.example.com/gitlab/foo/bar.git
反而, 您可以将此设置设置为https://git.example.com/gitlab/
.
要为 HTTP(S) 指定自定义 Git 克隆 URL:
- 输入根 URL 为 HTTP(S) 的自定义 Git 克隆 URL 。
- 单击“ 保存更改” 。
笔记: SSH 克隆 URL 可以在 gitlab.rb
通过设置 gitlab_rails['gitlab_ssh_host']
和 其他相关设置。
RSA、DSA、ECDSA、ED25519 SSH 密钥
这些选项指定允许的 SSH 密钥类型和长度。
要为每种密钥类型指定限制:
- 从下拉列表中选择所需的选项。
- 单击 保存更改 。
有关更多详细信息,请参阅 SSH 密钥限制 。
允许为项目设置镜像
默认情况下启用此选项。 通过禁用它,两者 拉和推镜像 不再 在每个存储库中工作。 它们只能由管理员用户在每个项目的基础上重新启用。