- 查看项目设置
- 编辑项目名称和描述
- 将主题分配给项目
- 合规框架
- 配置项目可见性、功能和权限
- 禁用项目电子邮件通知
- 为项目配置合并请求设置
- 服务台
- 高级项目设置
- 重命名仓库
- 将项目转移到另一个命名空间
- 删除一个项目
- 恢复项目
- 删除一个派生关系
- 故障排除
项目设置
使用设置页面来管理项目中的配置选项。
查看项目设置
您必须至少具有维护者角色才能查看项目设置。
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 要显示一个部分中的所有设置,请选择 展开。
- 可选。使用搜索框查找设置。
编辑项目名称和描述
使用项目通用设置来编辑您的项目详细信息。
- 至少以维护者角色登录极狐GitLab。
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 在 项目名称 文本框中,输入您的项目名称。
- 在 项目描述 文本框中,输入您的项目描述。
- 在 项目头像 下,要更改您的项目头像,请选择 选择文件。
将主题分配给项目
使用主题对项目进行分类并查找类似的新项目。
将主题分配给项目:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 在 主题 文本框中,输入项目主题。键入时会建议热门主题。
- 选择 保存更改。
合规框架
合规框架可以分配给群组内具有合规框架的项目,使用以下任一方法:
- UI:
- 在顶部栏上,选择 主菜单 > 项目 > 查看所有项目 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 展开 合规框架 部分。
- 选择合规框架。
- 选择 保存更改。
- 在 14.2 或更高版本,使用 GraphQL API。如果您使用 GraphQL 在子组上创建合规性框架,如果用户具有正确的权限,则会在根祖先上创建框架。UI 提供了一个只读视图来阻止这种行为。
配置项目可见性、功能和权限
要为项目配置可见性、功能和权限:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 展开 可见性、项目功能、权限 部分。
- 要更改项目可见性,请选择下拉列表。如果您选择 公开,则会将某些功能的访问权限限制为 仅项目成员。
- 要允许用户请求访问项目,请选中 用户可以请求访问 复选框。
- 使用切换开关,启用或禁用项目中的功能。
- 选择 保存更改。
项目功能设置
使用切换开关来启用或禁用项目中的功能。
选项 | 更多访问限制选项 | 描述 |
---|---|---|
议题 | ✓ | 激活极狐GitLab 议题跟踪器 |
仓库 | ✓ | 启用仓库功能 |
合并请求 | ✓ | 启用合并请求功能 |
派生 | ✓ | 启用派生功能 |
Git 大文件存储 (LFS) | 允许使用大文件 | |
软件包 | 支持软件包库功能 | |
CI/CD | ✓ | 启用 CI/CD 功能 |
Container Registry | 为您的 Docker 镜像激活仓库 | |
分析 | ✓ | 启用分析 |
需求 | ✓ | 控制对需求管理的访问 |
安全与合规 | ✓ | 控制对安全功能的访问 |
Wiki | ✓ | 启用单独的文档系统 |
代码片段 | ✓ | 允许分享代码和文本 |
Pages | ✓ | 允许您发布静态网站 |
指标仪表盘 | ✓ | 控制对指标仪表板的访问 |
发布 | ✓ | 控制对发布的访问 |
环境 | ✓ | 控制对环境和部署的访问 |
功能标志 | ✓ | 控制对功能标志的访问。 |
监控 | ✓ | 控制对监控功能的访问。 |
基础设施 | ✓ | 控制对基础设施功能的访问。 |
当您禁用某个功能时,以下附加功能也会被禁用:
-
如果禁用议题功能,项目用户将无法使用:
- 议题看板
- 服务台
- 项目用户仍然可以通过合并请求访问里程碑。
-
如果禁用议题和合并请求,项目用户将无法使用:
- 标记
- 里程碑
- 如果您禁用仓库,项目用户将无法使用:
- 合并请求
- CI/CD
- 容器镜像库
- Git 大文件存储
- 软件包
- 指标仪表盘访问需要读取项目环境和部署。有权访问指标仪表板的用户还可以访问环境和部署。
禁用项目电子邮件通知
先决条件:
- 您必须是项目的所有者才能禁用与项目相关的电子邮件通知。
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 展开 可见性、项目功能、权限 部分。
- 清除 禁用电子邮件通知 复选框。
为项目配置合并请求设置
设置项目的合并请求设置:
- 设置合并请求方法(合并提交,快进合并)。
- 添加合并请求描述模板。
- 启用合并请求批准。
- 启用状态检查。
- 启用仅在流水线成功时合并。
- 启用仅在所有主题都解决时合并。
- 启用需要来自 Jira 的关联议题。
- 启用
delete source branch after merge
选项默认。 - 配置建议的更改提交消息。
- 配置合并和压缩提交消息模板。
- 为来自派生项目的合并请求,配置默认目标项目。
服务台
为您的项目启用服务台以提供客户支持。
高级项目设置
使用高级设置来归档、重命名、转移、删除派生关系或删除项目。
归档项目
归档项目时,仓库、软件包、议题、合并请求和所有其他功能都是只读的。存档的项目也会从项目列表中隐藏。
要归档项目:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 展开 高级。
- 在 存档项目 部分,选择 存档项目。
- 要确认,请选择 OK。
取消归档项目
取消归档项目时,您将删除只读限制并使其在项目列表中可用。
先决条件:
- 要取消归档项目,您必须是管理员或项目所有者。
- 找到存档的项目。
- 在顶部栏上,选择 主菜单 > 项目。
- 选择 浏览项目。
- 在 排序项目 下拉列表,选择 显示已归档的项目。
- 在 按名称过滤 字段中,输入项目名称。
- 选择项目链接。
- 在左侧边栏中,选择 设置 > 通用。
- 在 高级 下,单击 扩展。
- 在 取消归档项目 部分,单击 取消归档项目 按钮。
- 要确认,选择 OK。
重命名仓库
项目的仓库名称定义了它的 URL 和它安装在极狐GitLab 实例文件磁盘上的位置。
先决条件:
- 您必须是项目维护者或管理员才能重命名仓库。
要重命名仓库:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 展开 高级 部分。
- 在 更改路径 文本框中,编辑路径。
- 选择 更改路径。
将项目转移到另一个命名空间
当您将项目转移到另一个命名空间时,您将项目移动到不同的群组。
先决条件:
- 您必须至少具有要转移到的群组的维护者角色。
- 您必须是要转移的项目的所有者。
- 该群组必须允许创建新项目。
- 该项目不得包含任何容器镜像。
- 如果您将项目转移到不同的根命名空间,则该项目不得包含任何 NPM 包。
要转移项目:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 展开 高级。
- 在 转移项目 下,选择要将项目转移到的命名空间。
- 选择 转移项目。
- 输入项目名称并选择 确认。
您将被重定向到项目的新页面,极狐GitLab 会应用重定向。有关仓库重定向的更多信息,请参阅仓库路径更改时会发生什么。
删除一个项目
您可以标记要删除的项目。
先决条件:
- 您必须至少具有项目的所有者角色。
要删除项目:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏上,选择 设置 > 通用。
- 展开 高级。
- 在“删除项目”部分,选择 删除项目。
- 根据要求确认操作。
此操作将删除包含所有关联资源(议题、合并请求等)的项目。
延迟项目删除
- 在 15.1 版本中,可以为个人命名空间中的项目启用。
- 为个人命名空间中的项目禁用于 15.3 版本。
延迟一段时间后可以删除群组中的项目(非个人命名空间中)。多个设置会影响是否为特定项目启用延迟项目删除:
- 在私有化部署版实例设置,您可以启用延迟删除项目作为新群组的默认设置,并配置延迟天数。
- 在群组设置中,为群组中的所有项目启用延迟项目删除。
立即删除一个项目
引入于 14.1 版本。
如果您不想等待,可以立即删除项目。
先决条件:
- 您必须至少具有项目的所有者角色。
- 您已将项目标记为删除。
要立即删除标记为删除的项目:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏上,选择 设置 > 通用。
- 展开 高级。
- 在“永久删除项目”部分,选择删除项目。
- 根据要求确认操作。
删除了以下内容:
- 您的项目及其仓库。
- 所有相关资源,包括议题和合并请求。
恢复项目
要恢复标记为删除的项目:
- 导航到您的项目,然后选择 设置 > 通用 > 高级。
- 在恢复项目部分,点击 恢复项目 按钮。
删除一个派生关系
先决条件:
- 您必须是项目所有者才能删除派生关系。
要删除派生关系:
- 在顶部栏上,选择 主菜单 > 项目 并找到您的项目。
- 在左侧边栏中,选择 设置 > 通用。
- 展开 高级。
- 在 删除派生关系 部分,选择 删除派生关系。
- 确认,输入项目路径并选择 确认。
故障排除
使用项目设置时,您可能会遇到以下问题,或者需要其他方法来完成特定任务。
通过控制台删除派生关系
如果通过 UI 或 API 删除分支不起作用,您可以尝试在 Rails 控制台会话操作。
p = Project.find_by_full_path('<project_path>')
u = User.find_by_username('<username>')
Projects::UnlinkForkService.new(p, u).execute
通过控制台转移项目
如果通过 UI 或 API 转移项目不起作用,您可以尝试在 Rails 控制台会话操作。
p = Project.find_by_full_path('<project_path>')
# To set the owner of the project
current_user = p.creator
# Namespace where you want this to be moved
namespace = Namespace.find_by_full_path("<new_namespace>")
Projects::TransferService.new(p, current_user).execute(namespace)