Help us learn about your current experience with the documentation. Take the survey.

GitLab.com 设置

  • 层级:免费版、高级版、旗舰版
  • 服务类型:GitLab.com

这些设置用于 GitLab.com,并可供 GitLab SaaS 客户使用。

部分设置可在 GitLab.com 的实例配置页面 查看。

账户和限制设置

GitLab.com 使用以下账户限制。如果某项设置未列出,其默认值 与 GitLab 自托管实例相同

设置 GitLab.com 默认值
包含 LFS 的仓库大小 10 GB
最大导入大小 5 GiB
最大导出大小 40 GiB
从外部对象存储导入时的最大远程文件大小 10 GiB
从源 GitLab 实例通过直接传输导入时的最大下载文件大小 5 GiB
最大附件大小 100 MiB
导入存档的最大解压后文件大小 25 GiB
最大推送大小 5 GiB

如果接近或超过仓库大小限制,您可以:

通过 Cloudflare 发送的 git push 和 GitLab 项目导入请求限制为每次 5 GiB。非文件上传的导入不受此限制。仓库限制同时适用于公开和私有项目。

备份

要在 GitLab.com 备份整个项目,可以导出:

导出时请注意 项目导出包含和不包含的内容

要备份项目或 Wiki 的 Git 仓库,请将其克隆到另一台计算机。所有 2020 年 8 月 22 日后上传到 Wiki 的文件 在克隆仓库时均包含在内。

CI/CD

GitLab.com 使用以下 GitLab CI/CD 设置。此处未列出的设置或功能限制使用相关文档中的默认值:

设置 GitLab.com 默认值(GitLab 自托管)
Artifacts 最大大小(压缩后) 1 GB 参见 最大 artifacts 大小
Artifacts 过期时间 除非另有说明,否则为 30 天 参见 默认 artifacts 过期时间。2020 年 6 月 22 日前创建的 artifacts 无过期时间。
定时流水线 Cron */5 * * * * 参见 流水线计划高级配置
单个流水线中的最大作业数 免费版:500,试用版所有层级:1000,高级版:1500,旗舰版:2000 参见 单个流水线中的最大作业数
活跃流水线中的最大作业数 免费版:500,试用版所有层级:1000,高级版:20000,旗舰版:100000 参见 活跃流水线中的作业数
单个项目的最大 CI/CD 订阅数 2 参见 单个项目的 CI/CD 订阅数
单个项目的最大流水线触发器数量 25000 参见 限制流水线触发器数量
项目中的最大流水线计划数 免费版:10,付费版所有层级:50 参见 流水线计划数量
每个计划的最大流水线数 免费版:24,付费版所有层级:288 参见 限制流水线计划每天创建的流水线数量
每个安全策略项目定义的最大计划规则数 付费版所有层级:无限制 参见 每个安全策略项目定义的计划规则数
定时作业归档 3 个月 从不。2020 年 6 月 22 日前创建的作业于 2020 年 9 月 22 日归档。
每个 单元测试报告 的最大测试用例数 500000 无限制。
最大注册运行器数量 免费版:每个组 50,每个项目 50
付费版所有层级:每个组 1000,每个项目 1000
参见 每个范围注册的运行器数量
dotenv 变量限制 免费版:50
高级版:100
旗舰版:150
参见 限制 dotenv 变量
最大下游流水线触发速率(针对特定项目、用户和提交) 每分钟 350 参见 限制下游流水线触发速率
单个流水线层次树中的最大下游流水线数量 1000 参见 限制流水线层次大小

容器注册表

设置 GitLab.com GitLab 自托管
域名 registry.gitlab.com
IP 地址 35.227.35.254
CDN 域名 cdn.registry.gitlab-static.net
CDN IP 地址 34.149.22.116
授权令牌有效期(分钟) 15 参见 增加容器注册表令牌有效期

要使用 GitLab 容器注册表,Docker 客户端必须能访问:

  • 注册表端点和 GitLab.com(用于授权)。
  • Google Cloud Storage 或 Google Cloud Content Delivery Network(用于下载镜像)。

GitLab.com 由 Cloudflare 提供服务。对于访问 GitLab.com 的入站连接,必须允许 Cloudflare 的 CIDR 块(IPv4IPv6)。

差异显示限制

GitLab.com 上无法更改差异文件的显示设置。

设置 定义 GitLab.com
最大差异补丁大小 整个差异的总大小。 200 KB
最大差异文件数 差异中更改的文件总数。 3,000
最大差异行数 差异中更改的行总数。 100,000

差异限制可在 GitLab 自托管中更改

邮件

邮件配置设置、IP 地址和别名。

确认设置

GitLab.com 使用以下邮件确认设置:

IP 地址

GitLab.com 使用 Mailgunmg.gitlab.com 域发送邮件,并拥有专用 IP 地址:

  • 23.253.183.236
  • 69.72.35.190
  • 69.72.44.107
  • 159.135.226.146
  • 161.38.202.219
  • 192.237.158.143
  • 192.237.159.239
  • 198.61.254.136
  • 198.61.254.160
  • 209.61.151.122

mg.gitlab.com 的 IP 地址可能随时更改。

服务台别名

GitLab.com 为服务台配置了邮箱,地址为:contact-project+%{key}@incoming.gitlab.com。要使用此邮箱,请在项目设置中配置 自定义后缀

GitLab.com 上的 Gitaly RPC 并发限制

针对不同类型的 Git 操作(如 git clone)配置了按仓库的 Gitaly RPC 并发和队列限制。当超过这些限制时,客户端会收到 fatal: remote error: GitLab is currently unable to handle this request due to load 消息。

有关管理员文档,请参阅 限制 RPC 并发

GitLab Pages

部分 GitLab Pages 设置与 GitLab 自托管默认值 不同:

设置 GitLab.com
域名 gitlab.io
IP 地址 35.185.44.232
自定义域名支持 check-circle
TLS 证书支持 check-circle
最大站点大小 1 GB
每个 GitLab Pages 网站的自定义域名数量 150

Pages 站点的最大大小取决于最大 artifacts 大小,这是 GitLab CI/CD 设置 的一部分。

速率限制 也适用于 GitLab Pages。

GitLab.com 的大规模部署

除了 GitLab Enterprise Edition Linux 包安装外,GitLab.com 还使用以下应用程序和设置来实现规模扩展。所有设置均公开可用,形式为 Kubernetes 配置Chef cookbooks

Consul

服务发现:

Elastic 集群

我们使用 Elasticsearch 和 Kibana 作为监控解决方案的一部分:

Fluentd

我们使用 Fluentd 统一 GitLab 日志:

Grafana

用于监控数据的可视化:

HAProxy

高性能 TCP/HTTP 负载均衡器:

Prometheus

Prometheus 完善了我们的监控堆栈:

Sentry

开源错误跟踪:

GitLab 托管的运行器

使用 GitLab 托管的运行器在 GitLab.com 和 GitLab Dedicated 上运行 CI/CD 作业,以便在不同环境中无缝构建、测试和部署您的应用程序。

更多信息请参阅 GitLab 托管的运行器

主机名列表

在配置本地 HTTP(S) 代理或其他管理终端用户计算机的网页屏蔽软件时,请添加这些主机名。GitLab.com 上的页面会从这些主机名加载内容:

  • gitlab.com
  • *.gitlab.com
  • *.gitlab-static.net
  • *.gitlab.io
  • *.gitlab.net

通过 docs.gitlab.comabout.gitlab.com 提供的文档和 GitLab 公司页面也会直接从常见的公共 CDN 主机名加载某些页面内容。

导入

GitLab.com 使用设置限制导入数据到 GitLab。

默认导入源

默认可用的 导入源 取决于您使用的 GitLab 版本:

  • GitLab.com:默认启用所有可用的导入源。
  • GitLab 自托管:默认不启用任何导入源,必须 启用

导入占位用户限制

导入 GitLab.com 时,限制每个顶级命名空间的 占位用户 数量。限制因您的计划和座位数而异。更多信息请参阅 GitLab.com 占位用户限制表

IP 范围

GitLab.com 使用 IP 范围 34.74.90.64/2834.74.226.0/24 处理其 Web/API 车队的流量。整个范围专用于 GitLab。来自 Webhook 或仓库镜像的连接来自这些 IP 地址。您应允许这些连接。

  • 入站连接 - GitLab.com 由 Cloudflare 提供服务。对于访问 GitLab.com 的入站连接,允许 Cloudflare 的 CIDR 块(IPv4IPv6)。
  • CI/CD 运行器的出站连接 - 我们不为 CI/CD 运行器的出站连接提供静态 IP 地址。但以下指南可能有帮助:
    • Linux GPU 和 Linux Arm64 运行器部署在 Google Cloud 的 us-central1 区域。
    • 其他 GitLab.com 实例运行器部署在 Google Cloud 的 us-east1 区域。
    • macOS 运行器托管在 AWS 的 us-east-1 区域,运行器管理器托管在 Google Cloud。

要配置基于 IP 的防火墙,必须允许 AWS IP 地址范围Google Cloud IP 地址范围

请参阅如何查找 GCP 的 IP 地址范围或 CIDR 块

最大审查者和分配者数量

合并请求强制执行以下上限:

  • 最大分配者数量:200
  • 最大审查者数量:200

合并请求限制

此功能的可用性由功能标志控制。更多信息请参阅历史记录。

GitLab 限制每个合并请求最多 1000 个 差异版本。达到此限制的合并请求无法进一步更新。请关闭受影响的合并请求并创建新的合并请求。

差异提交限制

此功能的可用性由功能标志控制。更多信息请参阅历史记录。

GitLab 限制每个合并请求最多 1,000,000(一百万)个差异提交。达到此限制的合并请求无法进一步更新。请关闭受影响的合并请求并创建新的合并请求。

密码要求

GitLab.com 对新账户和密码更改设置以下密码要求:

  • 最小字符长度 8 个字符。
  • 最大字符长度 128 个字符。
  • 接受所有字符。例如 ~, !, @, #, $, %, ^, &, *, (), [], _, +, =, -

组创建

在 GitLab.com 上,顶级组创建 不通过 API 提供,必须通过用户界面执行。

项目和组删除

与项目和组删除相关的设置。

延迟组删除

组在延迟 30 天后永久删除。

请参阅如何 查看和恢复标记为删除的组

延迟项目删除

项目在延迟 30 天后永久删除。

请参阅如何 查看和恢复标记为删除的项目

休眠项目删除

休眠项目删除 在 GitLab.com 上禁用。

包注册表限制

上传到 GitLab 包注册表最大文件大小 因格式而异:

包类型 GitLab.com
Conan 5 GB
Generic 5 GB
Helm 5 MB
机器学习模型 10 GB(上传限制为 5 GB)
Maven 5 GB
npm 5 GB
NuGet 5 GB
PyPI 5 GB
Terraform 1 GB

Puma

GitLab.com 对 Puma 请求超时 使用默认的 60 秒。

GitLab.com 上的速率限制

有关管理员文档,请参阅 速率限制

当请求被限速时,GitLab 返回 429 状态码。客户端应等待一段时间后再尝试请求。响应中可能包含信息性标头,详细信息请参阅 限速响应。项目、组和用户 API 的限速响应不包含信息性标头。

下表描述了 GitLab.com 的速率限制:

速率限制 设置
单个 IP 地址的受保护路径 每分钟 10 次请求
项目、提交或文件路径的原始端点流量 每分钟 300 次请求
单个 IP 地址的未认证流量 每分钟 500 次请求
单个用户的认证 API 流量 每分钟 2,000 次请求
单个用户的认证非 API HTTP 流量 每分钟 1,000 次请求
单个 IP 地址的所有流量 每分钟 2,000 次请求
问题创建 每分钟 200 次请求
问题与合并请求的注释创建 每分钟 60 次请求
单个 IP 地址的高级/项目/组搜索 API 每分钟 10 次请求
单个 IP 地址的 GitLab Pages 请求 每 50 秒 1,000 次请求
GitLab Pages 域的请求 每 10 秒 5,000 次请求
单个 IP 地址的 GitLab Pages TLS 连接 每 50 秒 1,000 次请求
GitLab Pages 域的 TLS 连接 每 10 秒 400 次请求
项目、用户或提交的流水线创建请求 每分钟 25 次请求
项目的告警集成端点请求 每小时 3,600 次请求
GitLab Duo aiAction 请求 每 8 小时 160 次请求
拉取镜像 间隔 5 分钟
用户对 /api/v4/users/:id 的 API 请求 每 10 分钟 300 次请求
单个 IP 地址的 GitLab 包云请求(在 GitLab 16.11 中 引入 每分钟 3,000 次请求
GitLab 仓库文件 每分钟 500 次请求
用户关注者请求 (/api/v4/users/:id/followers) 每分钟 100 次请求
用户关注请求 (/api/v4/users/:id/following) 每分钟 100 次请求
用户状态请求 (/api/v4/users/:user_id/status) 每分钟 240 次请求
用户 SSH 密钥请求 (/api/v4/users/:user_id/keys) 每分钟 120 次请求
单个 SSH 密钥请求 (/api/v4/users/:id/keys/:key_id) 每分钟 120 次请求
用户 GPG 密钥请求 (/api/v4/users/:id/gpg_keys) 每分钟 120 次请求
单个 GPG 密钥请求 (/api/v4/users/:id/gpg_keys/:key_id) 每分钟 120 次请求
用户项目请求 (/api/v4/users/:user_id/projects) 每分钟 300 次请求
用户贡献项目请求 (/api/v4/users/:user_id/contributed_projects) 每分钟 100 次请求
用户星标项目请求 (/api/v4/users/:user_id/starred_projects) 每分钟 100 次请求
项目列表请求 (/api/v4/projects) 每 10 分钟 2,000 次请求
组项目请求 (/api/v4/groups/:id/projects) 每分钟 600 次请求
单个项目请求 (/api/v4/projects/:id) 每分钟 400 次请求
组列表请求 (/api/v4/groups) 每分钟 200 次请求
单个组请求 (/api/v4/groups/:id) 每分钟 400 次请求

有关 受保护路径原始端点 的速率限制详情,请参阅相关文档。

GitLab 可能在多个层级限速。此处列出的速率限制在应用程序中配置。这些限制对每个 IP 地址最为严格。

通过上传导出文件进行组和项目导入

为避免滥用,GitLab.com 使用速率限制:

  • 项目和组导入。
  • 使用文件的组和项目导出。
  • 导出下载。

更多信息请参阅:

IP 封禁

当 GitLab.com 从单个 IP 地址接收到系统视为潜在恶意的异常流量时,可能发生 IP 封禁。这可能基于速率限制设置。异常流量停止后,IP 地址会根据封禁类型自动解除,具体说明见后续章节。

如果您对 GitLab.com 的所有请求收到 403 Forbidden 错误,请检查是否有任何自动化进程触发了封禁。如需帮助,请联系 GitLab Support,并提供受影响的 IP 地址等详细信息。

Git 和容器注册表认证失败封禁

当单个 IP 地址在 1 分钟内发送 300 次失败的认证请求时,GitLab.com 在 15 分钟内返回 HTTP 状态码 403

这仅适用于 Git 请求和容器注册表 (/jwt/auth) 请求(合计)。

此限制:

  • 通过成功认证的请求重置。例如,299 次失败认证请求后跟 1 次成功请求,再跟 299 次失败认证请求,不会触发封禁。
  • 不适用于由 gitlab-ci-token 认证的 JWT 请求。

不提供响应标头。

https 上的 git 请求总是先发送未认证请求,对于私有仓库会返回 401 错误。然后 git 尝试使用用户名、密码或访问令牌进行认证请求。如果同时发送过多请求,可能导致临时 IP 封禁。要解决此问题,请使用 SSH 密钥与 GitLab 通信

不可配置的限制

有关 GitLab.com 上使用的不可配置速率限制,请参阅 不可配置限制

分页响应标头

出于性能考虑,如果查询返回超过 10,000 条记录,GitLab 会排除部分标头

受保护路径限速

如果同一 IP 地址在一分钟内向受保护路径发送超过 10 个 POST 请求,GitLab.com 返回 429 HTTP 状态码。

受保护路径的源码见下文,包括用户创建、用户确认、用户登录和密码重置。

用户和 IP 速率限制 包含对被阻止请求的响应标头列表。

更多详情请参阅 受保护路径

限速响应

有关限速响应的信息,请参阅:

SSH 最大连接数

GitLab.com 使用 MaxStartups 设置 定义最大并发未认证 SSH 连接数。如果超过允许的最大连接数,连接将被丢弃,用户会收到 一个 ssh_exchange_identification 错误

可见性设置

项目、组和代码片段的 内部可见性 设置在 GitLab.com 上 被禁用

Sidekiq

GitLab.com 将 Sidekiq 作为 外部进程 运行,用于 Ruby 作业调度。

当前设置在 GitLab.com Kubernetes Pod 配置 中。

SSH 密钥和认证

与 SSH 认证相关的设置。有关最大连接数的信息,请参阅 SSH 最大连接数

替代 SSH 端口

GitLab.com 可通过使用 git+ssh不同 SSH 端口 访问。

设置
Hostname altssh.gitlab.com
Port 443

示例 ~/.ssh/config 如下:

Host gitlab.com
  Hostname altssh.gitlab.com
  User git
  Port 443
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab

SSH 主机密钥指纹

查看 GitLab.com 当前实例配置以获取 SSH 主机密钥指纹。

  1. 登录 GitLab。
  2. 在左侧边栏,选择 帮助 question-o )> 帮助
  3. 在帮助页面,选择 检查当前实例配置

在实例配置中,您会看到 SSH 主机密钥指纹

算法 MD5(已弃用) SHA256
ECDSA f1:d0:fb:46:73:7a:70:92:5a:ab:5d:ef:43:e2:1c:35 SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw
ED25519 2e:65:6a:c8:cf:bf:b2:8b:9a:bd:6d:9f:11:5c:12:16 SHA256:eUXGGm1YGsMAS7vkcx6JOJdOGHPem5gQp4taiCfCLB8
RSA b6:03:0e:39:97:9e:d0:e7:24:ce:a3:77:3e:01:42:09 SHA256:ROQFvPThGrW4RuWLoL9tq9I9zJ42fK4XywyRtbOz/EQ

首次连接 GitLab.com 仓库时,输出中会显示这些密钥之一。

SSH 密钥限制

GitLab.com 使用默认的 SSH 密钥限制

SSH known_hosts 条目

为跳过 SSH 中的手动指纹确认,请将以下内容添加到 .ssh/known_hosts

gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9
gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=

Webhook

以下限制适用于 webhook

速率限制

每个顶级命名空间每分钟 webhook 可被调用的次数。限制取决于您的计划和订阅中的座位数。

计划 GitLab.com 默认值
GitLab 免费版 500
GitLab 高级版,99 个座位或更少 1,600
GitLab 高级版,100-399 个座位 2,800
GitLab 高级版,400 个座位或更多 4,000
GitLab 旗舰版和开源项目,999 个座位或更少 6,000
GitLab 旗舰版和开源项目,1,000-4,999 个座位 9,000
GitLab 旗舰版和开源项目,5,000 个座位或更多 13,000

安全策略限制

您可添加到安全策略项目的最大策略数量。这些限制分别适用于每种策略类型。例如,您可以在同一个安全策略项目中拥有五个合并请求审批策略和五个扫描执行策略。

策略类型 默认限制
合并请求审批策略 每个安全策略项目五个策略
扫描执行策略 每个安全策略项目五个策略
流水线执行策略 每个安全策略项目五个策略
漏洞管理策略 每个安全策略项目五个策略

其他限制

设置 GitLab.com 默认值
Webhook 数量 每个项目 100 个,每个组 50 个(子组 webhook 不计入父组限制)
最大负载大小 25 MB
超时 10 秒
并行 Pages 部署 高级版:100 个额外部署,旗舰版:500 个额外部署

有关 GitLab 自托管实例的限制,请参阅: