极狐 GitLab

极狐GitLab.com 设置

Tier: 基础版,专业版,旗舰版

Offering: JihuLab.com

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

JihuLab.com 的实例配置页面 中查看部分设置。

账户和限制设置#

JihuLab.com 使用这些账户限制。如果某个设置未列出,其默认值 与私有化部署实例相同

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

备份#

要备份 JihuLab.com 上的整个项目,可以将其导出:

  • 通过 UI
  • 通过 API。也可以使用 API 以编程方式将导出文件上传到存储平台,例如 Amazon S3。

进行导出时,请注意项目导出中 包含和不包含的内容

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

CI/CD#

JihuLab.com 使用这些 极狐GitLab CI/CD 设置。此处未列出的任何设置或功能限制均使用相关文档中列出的默认值:

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

容器镜像仓库#

设置JihuLab.com私有化部署
域名registry.gitlab.com
IP 地址35.227.35.254
CDN 域名cdn.registry.gitlab-static.net
CDN IP 地址34.149.22.116
授权令牌持续时间(分钟)15参见 增加容器镜像仓库令牌持续时间

要使用极狐GitLab 容器镜像仓库,Docker 客户端必须能够访问:

JihuLab.com 前端使用 Cloudflare。对于传入 JihuLab.com 的连接,必须允许 Cloudflare 的 CIDR 块(IPv4IPv6)。

差异显示限制#

JihuLab.com 上的差异文件显示设置无法更改。这些限制适用于极狐GitLab UI 和 API 端点。

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

差异限制可以在私有化部署 中更改。

电子邮件#

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

确认设置#

JihuLab.com 使用以下电子邮件确认设置:

IP 地址#

JihuLab.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 地址随时可能更改。

服务台别名#

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

JihuLab.com 上的 Gitaly RPC 并发限制#

针对不同类型的 Git 操作(例如 git clone)配置了每个仓库的 Gitaly RPC 并发和排队限制。当超过这些限制时,系统会向客户端返回一条 fatal: remote error: GitLab is currently unable to handle this request due to load 消息。

当一个操作在前一个操作完成之前开始,此获取或克隆操作即被视为并发。

操作JihuLab.com 限制
HTTP 获取和克隆60 个并发操作
SSH 获取和克隆30 个并发操作

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

极狐GitLab Pages#

极狐GitLab Pages 的某些设置与 私有化部署的默认值 不同:

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

您的 Pages 站点的最大大小取决于最大产物大小,这是 极狐GitLab CI/CD 设置 的一部分。

速率限制 也适用于极狐GitLab Pages。

JihuLab.com 的规模化部署#

除了极狐GitLab 企业版 Linux 软件包安装之外,JihuLab.com 还使用以下应用程序和设置来实现规模化。所有设置都是公开可用的,如 Kubernetes 配置Chef 菜谱 所示。

Consul#

服务发现:

Elastic 集群#

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

Fluentd#

我们使用 Fluentd 统一我们的 GitLab 日志:

Grafana#

用于监控数据的可视化:

HAProxy#

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

Prometheus#

Prometheus 完善了我们的监控体系:

Sentry#

开源错误追踪:

极狐GitLab 托管的 Runner#

使用极狐GitLab 托管的 Runner 在 JihuLab.com 上运行您的 CI/CD 作业,从而在不同环境中无缝构建、测试和部署您的应用程序。

更多信息,请参阅 极狐GitLab 托管的 Runner

主机名列表#

当您在本地 HTTP(S) 代理或其他管理终端用户计算机的网络阻止软件中配置允许列表时,请添加这些主机名。JihuLab.com 上的页面从这些主机名加载内容:

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

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

容器镜像仓库主机名列表#

如果您从 registry.gitlab.com 拉取镜像,请将这些额外的主机名添加到您的允许列表中:

  • *.storage.googleapis.com
  • *.cdn.registry.gitlab-static.net

导入#

JihuLab.com 使用设置来限制将数据导入极狐GitLab。

默认导入源#

默认情况下,可用的 导入源(迁移工具)取决于您使用的极狐GitLab 版本:

  • JihuLab.com:默认启用所有可用的导入源。
  • 私有化部署:默认不启用任何导入源,必须 手动启用

导入占位符用户限制#

导入到 JihuLab.com 会限制每个顶级命名空间的 占位符用户 数量。限制取决于您的计划和许可证数量。更多信息,请参阅 JihuLab.com 的占位符用户限制表

IP 范围#

JihuLab.com 使用 IP 范围 34.74.90.64/2834.74.226.0/24 来处理来自其 Web/API 集群的流量。整个范围都专门分配给 GitLab。来自 Webhook 或仓库镜像的连接来自这些 IP 地址。您应该允许这些连接。

  • 传入连接 - JihuLab.com 前端使用 Cloudflare。对于传入 JihuLab.com 的连接,请允许 Cloudflare 的 CIDR 块(IPv4IPv6)。
  • 来自 CI/CD Runner 的传出连接 - 我们不为来自 CI/CD Runner 的传出连接提供静态 IP 地址。但是,以下指南可能会有所帮助:
    • Linux GPU 加速和 Linux Arm64 Runner 部署在 Google Cloud 的 us-central1 区域。
    • 其他 JihuLab.com 实例 Runner 部署在 Google Cloud 的 us-east1 区域。
    • macOS Runner 托管在 AWS 的 us-east-1 区域,Runner 管理器托管在 Google Cloud 上。

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

了解如何查找 GCP 的 IP 地址范围或 CIDR 块

最大审查者和指派人数量#

版本历史
  • 最大指派人数在极狐GitLab 15.6 [引入]。
  • 最大审查者数在极狐GitLab 15.9 [引入]。

合并请求强制执行以下最大数量:

  • 最大指派人数量:200
  • 最大审查者数量:200

合并请求限制#

版本历史
  • 在极狐GitLab 17.10 [引入],功能标志 merge_requests_diffs_limit。默认禁用。
  • 在极狐GitLab 17.10 [在 JihuLab.com 上启用]。

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

极狐GitLab 将每个合并请求限制为 1000 个 差异版本。达到此限制的合并请求无法进一步更新。相反,请关闭受影响的合并请求并创建一个新的合并请求。

差异提交限制#

版本历史
  • 在极狐GitLab 17.11 [引入],功能标志 merge_requests_diff_commits_limit。默认禁用。

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

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

密码要求#

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

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

群组创建#

版本历史
  • 在极狐GitLab 18.0 [引入]
  • 在极狐GitLab 18.5 [引入] 了极狐GitLab SAAS 管理员例外

在 JihuLab.com 上,顶级群组创建 只能通过 UI 进行。只有管理员可以使用 API 创建顶级群组。

项目和群组删除#

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

延迟群组删除#

版本历史
  • 在极狐GitLab 16.1 中为极狐GitLab 专业版和极狐GitLab 旗舰版默认启用延迟群组删除。
  • 在 18.0 中从极狐GitLab 专业版 [移至] 极狐GitLab 基础版。
  • 在 18.0.2 中将删除延迟期从 7 天 [增加] 到 30 天。

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

了解如何 查看和恢复标记为删除的群组

延迟项目删除#

版本历史
  • 在极狐GitLab 16.1 中为极狐GitLab 专业版和极狐GitLab 旗舰版默认启用延迟项目删除。
  • 在 18.0 中从极狐GitLab 专业版 [移至] 极狐GitLab 基础版。
  • 在 18.0.2 中将删除延迟期从 7 天 [增加] 到 30 天。

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

了解如何 查看和恢复标记为删除的项目

休眠项目删除#

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

软件包仓库限制#

上传到 极狐GitLab 软件包仓库 的软件包的 最大文件大小 因格式而异:

软件包类型JihuLab.com
Conan5 GB
Generic5 GB
Helm5 MB
机器学习模型10 GB(上传上限为 5 GB)
Maven5 GB
npm5 GB
NuGet5 GB
PyPI5 GB
Terraform1 GB

Puma#

JihuLab.com 使用 60 秒的默认 Puma 请求超时

JihuLab.com 上的速率限制#

管理员相关文档,请参见 [速率限制](../../security/rate_limits.md)。

当请求受到速率限制时,极狐GitLab 会返回 429 状态码。客户端应在再次尝试请求之前等待。此响应可能还包含参考信息头,详见 速率限制响应。针对项目、群组和用户 API 的速率限制响应不包含参考信息头。

下表描述了适用于 JihuLab.com 的速率限制:

速率限制设置
每个 IP 地址的受保护路径每分钟 10 次请求
针对项目、提交或文件路径的原始端点流量每分钟 300 次请求
未经认证的项目原始端点流量每分钟 800 次请求
来自某个 IP 地址的未经认证流量每分钟 500 次请求
某个用户的经过认证的 API 流量每分钟 2,000 次请求
某个用户的经过认证的非 API HTTP 流量每分钟 1,000 次请求
某个用户的经过认证的 Git HTTPS 流量每分钟 10,000 次请求
来自某个 IP 地址的未经认证的 Git HTTPS 流量每分钟 15,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 次请求
使用 Runner 令牌的 Runner 任务请求 (/api/v4/jobs/request)每分钟 2,000 次请求
使用作业令牌的 Runner 作业跟踪补丁请求 (/api/v4/jobs/trace)每分钟 200 次请求
使用作业令牌的 Runner 任务请求 (/api/v4/jobs/*)每分钟 200 次请求
列出项目中的所有项目成员每分钟 200 次请求

有关 受保护路径原始端点 的速率限制,请参阅更多详细信息。

极狐GitLab 可以在多个层面进行请求速率限制。此处列出的速率限制在应用程序中进行配置。这些限制对每个 IP 地址最为严格。

通过上传导出文件导入群组和项目#

为避免滥用,JihuLab.com 使用以下速率限制:

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

更多信息,请参见:

IP 封锁#

当 JihuLab.com 收到来自单个 IP 地址的异常流量,且系统将其视为潜在恶意行为时,可能会发生 IP 封锁。这可能是根据速率限制设置触发的。异常流量停止后,IP 地址会根据封锁类型自动解封,具体描述见后续章节。

如果你对 JihuLab.com 的所有请求都收到 403 禁止访问 错误,请检查是否有任何自动化流程可能触发了封锁。如需帮助,请联系 极狐GitLab 技术支持,并提供详细信息,例如受影响的 IP 地址。

Git 和容器镜像仓库认证失败封锁#

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

此限制仅适用于 Git 请求和容器镜像仓库(/jwt/auth)请求(合并计算)。

该限制:

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

此时不会返回任何响应头。

通过 httpsgit 请求始终先发送一个未经认证的请求,对于私有仓库,会导致 401 错误。然后 git 会尝试使用用户名、密码或访问令牌(如果可用)进行认证请求。如果同时发送的请求过多,这些请求可能导致临时 IP 封锁。要解决此问题,请使用 SSH 密钥与极狐GitLab 通信

不可配置的限制#

有关 JihuLab.com 上使用的不可配置速率限制的更多信息,请参见 不可配置的限制

分页响应标头#

出于性能原因,如果查询返回超过 10,000 条记录,极狐GitLab 会排除某些标头

受保护路径节流#

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

请参阅下面的源文件了解哪些路径是受保护的。它们包括用户创建、用户确认、用户登录和密码重置。

用户和 IP 速率限制 包含对已封锁请求响应的标头列表。

有关更多详细信息,请参见 受保护路径

速率限制响应#

有关速率限制响应的信息,请参见:

SSH 最大连接数#

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

可见性设置#

由于 JihuLab.com 已禁用,项目、群组和代码片段具有 内部可见性 设置。 在 此议题 中查看详情。

Sidekiq#

JihuLab.com 将 Sidekiq 作为 独立进程 运行,用于 Ruby 作业调度。

当前设置见 GitLab.com Kubernetes pod 配置

SSH 密钥和认证#

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

备用 SSH 端口#

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

设置
主机名altssh.gitlab.com
端口443

一个 ~/.ssh/config 示例如下:

plaintext
1Host gitlab.com 2 Hostname altssh.gitlab.com 3 User git 4 Port 443 5 PreferredAuthentications publickey 6 IdentityFile ~/.ssh/gitlab

SSH 主机密钥指纹#

请在当前实例配置中查看 JihuLab.com 上的 SSH 主机密钥指纹。

  1. 登录极狐GitLab。
  2. 在左侧边栏中,选择 帮助) > 帮助
  3. 在帮助页面,选择 查看当前实例配置

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

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

首次连接 JihuLab.com 仓库时,输出中会显示其中某一个密钥。

SSH 密钥限制#

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

SSH known_hosts 条目#

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

plaintext
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=

Webhooks#

以下限制适用于 Webhook

速率限制#

顶级命名空间中的 webhook 每分钟可被调用的次数。 该命名空间中的所有项目 webhook 和群组 webhook 共享此限制。 该限制因你的计划和你订阅的席位数量而异。

计划JihuLab.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

当达到速率限制时,命名空间中的所有 webhook 将被临时禁用,并在下一分钟自动重新启用。

当受到速率限制时,webhook 列表中的 webhook 旁边会显示一个标记。在 webhook 编辑页面,一条消息会说明命名空间的限制每分钟被超出了多少次,以及 webhook 何时重新启用。

安全策略限制#

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

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

其它限制#

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

有关极狐GitLab 私有化部署实例的限制,请参见: