导入和导出设置
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed, GitLab Dedicated
与导入和导出相关功能的设置。
配置允许的导入源
在您可以从其他系统导入项目之前,必须为该系统启用导入源。
- 以管理员权限级别的用户身份登录 GitLab。
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 导入和导出设置 部分。
- 选择要允许的每个 导入源。
- 选择 保存更改。
启用项目导出
要启用项目及其数据的导出:
- 以管理员权限级别的用户身份登录 GitLab。
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 导入和导出设置 部分。
- 滚动到 项目导出。
- 选中 已启用 复选框。
- 选择 保存更改。
启用通过直接传输迁移群组和项目
在 GitLab 16.1 及更早版本中,您不应将直接传输与计划扫描执行策略一起使用。如果使用直接传输,请先升级到 GitLab 16.2,并确保在您正在执行的项目中启用了安全策略机器人。
默认情况下,通过直接传输迁移群组和项目是禁用的。 要启用通过直接传输迁移群组和项目:
- 以管理员权限级别的用户身份登录 GitLab。
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 导入和导出设置 部分。
- 滚动到 允许通过直接传输迁移 GitLab 群组和项目。
- 选中 已启用 复选框。
- 选择 保存更改。
此设置在 API 中作为 bulk_import_enabled 属性可用。
启用静默管理员导出
启用静默管理员导出,以防止实例管理员触发项目或群组文件导出或下载导出文件时产生审计事件。 非管理员的导出仍会生成审计事件。
要启用静默管理员项目和群组文件导出:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用,然后展开 导入和导出设置。
- 滚动到 管理员的静默导出。
- 选中 已启用 复选框。
允许将贡献映射到管理员
允许将导入的用户贡献映射到管理员。
要允许将导入的用户贡献映射到管理员:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用,然后展开 导入和导出设置。
- 滚动到 允许将贡献映射到管理员。
- 选中 已启用 复选框。
管理员重新分配占位符用户时跳过确认
此功能的可用性由功能标志控制。 更多信息,请参见历史记录。
先决条件:
- GitLab 实例上必须启用用户模拟。
要在管理员重新分配占位符用户时跳过确认:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 导入和导出设置。
- 在 管理员重新分配占位符用户时跳过确认 下,选中 已启用 复选框。
启用此设置后,管理员可以将贡献和成员资格重新分配给具有以下任何状态的非机器人用户:
activebannedblockedblocked_pending_approvaldeactivatedldap_blocked
最大导出大小
要修改 GitLab 中导出的最大文件大小:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用,然后展开 导入和导出设置。
- 通过更改 最大导出大小 (MiB) 中的值来增加或减少。
最大导入大小
要修改 GitLab 中导入的最大文件大小:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 导入和导出设置。
- 通过更改 最大导入大小 (MiB) 中的值来增加或减少。
此设置仅适用于从 GitLab 导出文件导入的仓库。
如果您选择的大小大于 Web 服务器的配置值,您可能会收到错误。有关更多详细信息,请参阅故障排除部分。
关于 GitLab.com 仓库大小限制,请阅读账户和限制设置。
导入的最大远程文件大小
默认情况下,从外部对象存储(例如 AWS)导入的最大远程文件大小为 10 GiB。
要修改此设置:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 导入和导出设置。
- 在 最大导入远程文件大小 (MiB) 中,输入一个值。设置为
0表示无文件大小限制。
通过直接传输导入的最大下载文件大小
默认情况下,通过直接传输导入的最大下载文件大小为 5 GiB。
要修改此设置:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 导入和导出设置。
- 在 最大下载文件大小 (MiB) 中,输入一个值。设置为
0表示无文件大小限制。
导入归档的最大解压缩文件大小
当您使用文件导出或直接传输导入项目时,您可以指定导入归档的最大解压缩文件大小。默认值为 25 GiB。
当您导入压缩文件时,解压缩后的大小不能超过最大解压缩文件大小限制。如果解压缩后的大小超过配置的限制,则会返回以下错误:
Decompressed archive size validation failed.要修改此设置:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 导入和导出设置。
- 为 导入归档的最大解压缩文件大小 (MiB) 设置另一个值。
解压缩归档文件的超时时间
当您导入项目时,您可以指定解压缩导入归档的最大超时时间。默认值为 210 秒。
要修改 GitLab 中导入归档解压缩的超时时间:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 导入和导出设置。
- 为 解压缩归档文件的超时时间 (秒) 设置另一个值。
同时导入作业的最大数量
您可以指定同时执行的导入作业的最大数量,适用于:
导入合并请求时不应用作业限制,因为合并请求有一个硬编码的限制,以避免服务器过载。
默认作业限制为:
- 对于 GitHub 导入器,为 1000。
- 对于 Bitbucket Cloud 和 Bitbucket Server 导入器,为 100。Bitbucket 导入器的默认限制较低,因为我们尚未确定一个好的默认限制。实例管理员应尝试使用更高的限制。
要修改此设置:
- 在左侧边栏底部,选择 管理员。
- 选择 设置 > 通用。
- 展开 导入和导出设置。
- 为所需的导入器设置 同时导入作业的最大数量 的另一个值。
同时批量导出作业的最大数量
直接传输导出可能会消耗大量资源。
为防止耗尽数据库或 Sidekiq 进程,
管理员可以配置 concurrent_relation_batch_export_limit 设置。
默认值为 8 个作业,这对应于支持高达 40 RPS 或 2000 名用户的参考架构。
如果您遇到 PG::QueryCanceled: ERROR: canceling statement due to statement timeout 错误,
或者作业因 Sidekiq 内存限制而被中断,您可能希望减少此数字。
如果您有足够的资源,可以增加此数字以处理更多并发的导出作业。
要修改此设置,请向 /api/v4/application/settings
发送带有 concurrent_relation_batch_export_limit 的 API 请求。
更多信息,请参阅应用程序设置 API。
导出批量大小
为了进一步管理内存使用和数据库负载,请使用 relation_export_batch_size 设置来控制导出操作中每个批次处理的记录数。
默认值为每批 50 条记录。要修改此设置,请向 /api/v4/application/settings 发送带有 relation_export_batch_size 的 API 请求。
更多信息,请参阅应用程序设置 API。
故障排除
错误:Help page documentation base url is blocked: execution expired
在启用导入源等应用程序设置时,您可能会收到 Help page documentation base url is blocked: execution expired
错误。要解决此错误:
- 将
docs.gitlab.com或重定向帮助文档页面 URL添加到 允许列表。 - 选择 保存更改。