JihuLab.com 设置
- Tier: 基础版,专业版,旗舰版
- Offering: GitLab.com
本页面包含关于 JihuLab.com 上使用的设置信息,适用于 极狐GitLab SaaS 客户。
部分设置可在 JihuLab.com 的 实例配置页面 查看。
邮箱确认
JihuLab.com 具有以下设置:
- email_confirmation_setting 设置为 严格
- unconfirmed_users_delete_after_days 设置为 3 天
密码要求
JihuLab.com 对新账户和密码修改有以下要求:
- 最小长度 8 个字符
- 最大长度 128 个字符
- 接受所有字符。例如 ~、!、@、#、$、%、^、&、*、()、[]、_、+、= 和 -
SSH 密钥限制
JihuLab.com 使用默认的 SSH 密钥限制。
SSH 主机密钥指纹
进行当前实例配置以在 JihuLab.com 上查看 SSH 主机密钥指纹。
- 登录极狐GitLab。
- 在左侧边栏中,选择 帮助 ({question-o}) > 帮助。
- 在帮助页面上,选择 检查当前实例配置。
在实例配置中,您会看到 SSH 主机密钥指纹:
算法 | SHA256 |
---|---|
ED25519 | oFjzO7Pjq2iFPAVDPI9LmQLeC7Vmst/vFy6Bd1Mlljw |
RSA | NH6pILFtJnZCTefvALgWVShVUSyXmhnnwj/RjR76CJ4 |
DSA (deprecated) | X42tkbvmtfwwPXggioadkFni7DgBybAdI9aensl/Hh4 |
ECDSA | /YbJq0B1VPMOFY0SOs9DINmpXC7Ihyd6amYgZnrWFVc |
SSH known_hosts 条目
将以下内容添加到 .ssh/known_hosts 以跳过 SSH 中的手动指纹确认:
plaintextJihuLab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAF3eNpQq0GNg0IZgh6gWOd1UOoaVJAQU9tjj6ocVuMT JihuLab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCpndvpEtk3Ajwp74T6t6/uofKW6HzS/ZYmzqEFNxl+er1uroc0ZYfo3c211k3y3ickN8fKkOcADagC9QI3Wt/sKfff/46gpKie70bUyEjdSVA42hdhUvLQ+jASjU3QE+7frJQ/7Qzbff8URPJ9HQba3vPA8QDAvbDEWpLN7n364zELXKiuN1jGD0oemTsJsKDcc07cSwNTwTVDLdRYPCU4RhT0q/l2Xtmd1KgDFOmPoI0S2wkRO47soJcjbMlUhh5p/uZBV+XJxj2BWUlJERoBQie/AbZZfWjdRNZSKf4y7qHoR8YBAD7gSRKBkQM20Dd0DqGRI7HUyYdCQtU5Ex+3Zh7WtJwhWBWJ42zu+ILUfRsXQvJnGZ3fgc8BlEO3hzP+rJWKGZbVjgkMNsX7ZkXwNZ/xzj8oBHhCE2EvfjLo0+nHpRjppQXC7VWQSpxMv4M6RTcwuEW/hC5L/QpXEaORW1I5T68eJCsMuOIBOnZb+t7lM5ftOLLW2/7DUz8FS9tKyfCVHohHfOJexqrACF3FkGsXYxx5XKm9KjLrQtfXZLeWDaColIX0w6szCha9NnclQfs38izoYCpyE2ue8HwPdMJT9M19XW+ZfidLPBf/U0SK5eSwSQRj+HFSKxAz7kLZRmxi61jdaOVvdgUmT/ByvwVnWyne0EE8M0zLesm8Tw== JihuLab.com ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAD6qo5z7vy4J1dTRyhaf8ats0lDWVgpgMddICUaVRTSMcNjfSaq4XHdPnSeXwWsAuSYN/3KZzoVsKcvZ/y5bc15fQHomE2B4Wn0+AnFv8XDv0ZHuAnZ4JLvbjtG0aVjsdO/97MF3kAeabQm4+ci4YPx4GZVxE/2LcN+W8S024Ky7+qLKA==
邮件配置
JihuLab.com 使用阿里云邮箱推送服务发送通知邮件,系统邮件的域名为 msg.jihulab.com。 JihuLab.com 使用阿里云企业邮箱服务接收特定邮件,接收邮件的域名为 mg.jihulab.com。
服务台别名邮箱地址
在 JihuLab.com 上,为服务台配置了一个邮箱,地址为: contact-project+%{key}@mg.jihulab.com。要使用此邮箱,请在项目设置中配置 自定义后缀。
备份
要在 JihuLab.com 上备份整个项目,您可以通过以下两种方式导出项目:
使用导出功能时,请注意项目导出中包含和不包含的内容。
GitLab 基于 Git 构建,因此您可以通过将项目仓库克隆到另一台计算机来仅备份仓库。同样,您可以克隆项目的 wiki 来进行备份。2020 年 8 月 22 日后上传的所有文件在克隆时都会包含在内。
群组延迟删除 (PREMIUM SAAS)
自2023年5月8日起,所有群组默认启用延迟删除功能。
群组将在7天延迟后被永久删除。
您可以查看和恢复标记为删除的群组。
项目延迟删除 (PREMIUM SAAS)
自2023年5月8日起,所有群组默认启用项目延迟删除功能。
项目将在7天延迟后被永久删除。
您可以查看和恢复标记为删除的项目。
不活跃项目删除
JihuLab.com 上默认已禁用不活跃项目删除功能。
备用SSH端口
可以通过为 git+SSH 使用不同的 SSH 端口,来访问 JihuLab.com。
设置项 | 值 |
---|---|
Hostname | altssh.jihulab.com |
Port | 443 |
~/.ssh/config文件的配置示例如下:
plaintext1Host jihulab.com 2 Hostname altssh.jihulab.com 3 User git 4 Port 443 5 PreferredAuthentications publickey 6 IdentityFile ~/.ssh/gitlab
GitLab Pages
由于安全合规等因素,JihuLab.com 暂未开启 Pages 功能。
GitLab 容器镜像仓库
要使用 GitLab 容器镜像仓库,Docker 客户端必须能够访问:
- 镜像仓库节点及 JihuLab.com 用于授权
JihuLab.com 前端使用的是星盾,如果需要连接到 JihuLab.com,您可能需要允许星盾的 CIDR 块(IPv4 和 IPv6)。
GitLab CI/CD
以下是当前关于 GitLab CI/CD 的设置。 此处未列出的任何设置或功能限制均使用相关文档中列出的默认值。
设置 | JihuLab.com | Default (私有化部署) |
---|---|---|
制品最大大小(压缩后) | 1 GB | 参见最大制品大小。 |
制品过期时间 | 除非另有指定,否则为30天 | 参见默认制品过期时间。2020年6月22日之前创建的制品不会过期。 |
计划流水线Cron | */5 * * * * | 参见流水线计划高级配置。 |
活动流水线中的最大作业数 | 试用订阅:1000,高级版:20000,终极版:100000。 | 参见活动流水线中的作业数量。 |
对项目的最大CI/CD订阅数 | 2 | 参见项目的CI/CD订阅数量。 |
项目中最大流水线触发器数量 | 25000 | 参见限制流水线触发器数量。 |
项目中的最大流水线计划数 | 付费订阅:50 | 参见流水线计划数量。 |
每个计划的最大流水线数 | 付费订阅:288 | 参见限制每天由流水线计划创建的流水线数量。 |
每个安全策略项目定义的最大计划规则数 | 所有付费订阅无限制 | 参见限制安全策略项目的计划规则数量。 |
计划作业归档 | 3个月 | 从不归档。2020年6月22日之前创建的作业已于2020年9月22日归档。 |
单元测试报告中的最大测试用例数 | 500000 | 无限制。 |
最大注册Runner数 | 付费订阅:每组1000,每个项目1000 | 参见每个范围内的注册Runner数量。 |
dotenv变量限制 | 高级版:100 终极版:150 | 参见限制dotenv变量。 |
授权令牌有效期(分钟) | 15 | 要设置自定义值,在Rails控制台中运行ApplicationSetting.last.update(container_registry_token_expire_delay: <integer>),其中<integer>是所需分钟数。 |
最大下游流水线触发速率(针对特定项目、用户和提交) | 每分钟350 | 参见最大下游流水线触发速率。 |
软件包仓库限制
上传到 GitLab 包注册表 的单个文件大小限制因格式而异:
软件包类型 | JihuLab.com |
---|---|
Conan | 5 GB |
Generic | 5 GB |
Helm | 5 MB |
Maven | 5 GB |
npm | 5 GB |
NuGet | 5 GB |
PyPI | 5 GB |
Terraform | 1 GB |
账户和限制设置
JihuLab.com 启用了以下账户限制。如果某个设置未列出, 则默认值与自托管实例相同:
设置 | JihuLab.com 默认 |
---|---|
仓库大小(包括LFS) | 5 GB |
最大导入大小 | 5 GiB |
从外部对象存储导入时的最大远程文件大小 | 5 GiB |
通过直接传输从源GitLab实例导入时的最大下载文件大小 | 2 GiB |
最大附件大小 | 100 MiB |
更多详细信息,请参阅JihuLab.com 实例配置。
如果您接近或超过仓库大小限制,您可以:
注意: git push 和 GitLab 项目导入每个请求限制为 5 GiB。 除文件上传外的其他导入方式不受此限制影响。仓库限制适用于公开和私有项目。
默认导入源
您可以使用的导入源默认取决于您使用的GitLab版本:
- JihuLab.com:默认启用所有可用的导入源。
- GitLab私有化部署:默认不启用任何导入源,需要手动配置启用。
导入占位用户限制
在 JihuLab.com 上导入期间创建的占位用户数量受顶级命名空间限制。根据您的计划和席位数量,限制有所不同。 更多信息,请参阅JihuLab.com 占位用户限制表。
IP 地址范围
JihuLab.com 使用的 IP 地址范围为 1.117.22.3/32 和 1.117.26.213/32,这些 IP 用于其 Web/API 流量。这些范围完全由 GitLab 独占使用。您可以预期来自 webhooks 或仓库镜像的连接会来自这些 IP,并应允许这些连接。
JihuLab.com 前端使用的是星盾,对于连接到 JihuLab.com 的入站请求,您可能需要允许星盾的 CIDR 块(IPv4 和 IPv6)。(https://jihulab.com/jihulab/jh-infra/jihulab-com-ip-cidrs/-/wikis/JihuLab.com-IP-CIDRs)。
对于来自 CI/CD Runner 的出站连接,我们不提供静态 IP 地址。 JihuLab.com 上的共享 Runner 部署在腾讯云上,不提供静态 IP。
主机名列表
在配置本地 HTTP(S) 代理或其他管理终端用户计算机的网络拦截软件时,请添加以下主机名到白名单中。JihuLab.com 页面会从这些主机名加载内容:
- jihulab.com
- *.jihulab.com
- gitlab.cn
- *.gitlab.cn
Webhooks
以下限制适用于 webhooks(Web 钩子)。
速率限制
每个顶级命名空间每分钟可调用的 Webhook 次数。 该限制根据您的订阅计划和席位数量而有所不同。
计划 | JihuLab.com 默认 |
---|---|
基础版 | 500 |
专业版 | 99 seats or fewer: 1,600 100-399 seats: 2,800 400 seats or more: 4,000 |
旗舰版 | 999 seats or fewer: 6,000 1,000-4,999 seats: 9,000 5,000 seats or more: 13,000 |
其他限制
设置项 | JihuLab.com 默认值 |
---|---|
Webhook 数量 | 每个项目 100 个,每个群组 50 个(子群组的 Webhook 不计入父群组限制) |
最大载荷大小 | 25 MB |
超时时间 | 10 秒 |
关于私有化部署实例的限制,请参阅:
GitLab 托管的 Runner
您可以使用 GitLab 托管的 Runner 在 JihuLab.com 运行 CI/CD 任务,无缝地构建、测试和部署应用到不同环境。
更多信息,请参阅 GitLab 托管的 Runner。
Puma
JihuLab.com 使用默认的 60 秒作为 Puma 请求超时时间。
最大审核者和分配者数量
- 最大分配者数量引入于GitLab 15.6
- 最大审核者数量引入于GitLab 15.9
合并请求强制执行以下最大值:
- 最大分配者数:200
- 最大审核者数:200
JihuLab.com 专属速率限制
注意: 管理员文档请参阅 速率限制
当请求被速率限制时,GitLab 会返回 429 状态码。客户端应等待一段时间后再尝试请求。响应中还包含信息头,详细信息见速率限制响应。
下表描述了 JihuLab.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 域的 GitLab Pages 请求 | 每 10 秒 5,000 个请求 |
IP 地址的 GitLab Pages TLS 连接 | 每 50 秒 1,000 个请求 |
GitLab Pages 域的 GitLab Pages TLS 连接 | 每 10 秒 400 个请求 |
项目、用户或提交的流水线创建请求 | 每分钟 25 个请求 |
项目的警报集成端点请求 | 每小时 3,600 个请求 |
拉取镜像 间隔 | 5 分钟 |
用户对 /api/v4/users/:id 的 API 请求 | 每 10 分钟 300 个请求 |
IP 地址的 GitLab 软件包云请求 (引入于 GitLab 16.11) | 每分钟 3,000 个请求 |
GitLab 仓库文件 | 每分钟 500 个请求 |
GitLab 可以在多个层次对请求进行速率限制。此处列出的速率限制是在应用程序中配置的。这些限制是针对每个 IP 地址最严格的限制。
速率限制响应
有关速率限制响应的信息,请参阅:
受保护路径节流
JihuLab.com 会对受保护路径的 POST 请求返回 HTTP 状态码 429,如果来自单个 IP 地址的请求超过每分钟 10 次。
请参阅下面的源代码了解哪些路径受保护。这包括用户创建、用户确认、用户登录和密码重置。
用户和 IP 速率限制包含对被阻止请求的响应头列表。
更多详情请参阅受保护路径。
IP 封禁
当 JihuLab.com 检测到来自单个 IP 地址的可疑流量时(例如超过速率限制设置),可能会触发 IP 封禁。当异常流量停止后,根据封禁类型的不同,IP 地址会自动解封(具体机制将在后续章节说明)。
如果您对 JihuLab.com 的所有请求都收到 403 禁止访问 错误,请检查是否有自动化进程触发了封禁。如需协助,请联系 GitLab 技术支持并提供相关信息(例如受影响的 IP 地址)。
Git 和容器仓库认证失败封禁
如果在 1 分钟内,来自单个 IP 地址的 Git 请求和容器仓库请求(/jwt/auth)累计出现 300 次认证失败,JihuLab.com 会返回 HTTP 状态码 403 并持续封禁 15 分钟。
注意:
- 成功的认证请求会重置计数器。例如:299 次失败后 1 次成功,再 299 次失败不会触发封禁
- 使用 gitlab-ci-token 认证的 JWT 请求不受此限制
- 系统不会返回任何响应头信息
对于私有仓库,https 协议的 git 请求会先发送未认证请求(导致 401 错误),然后再尝试使用用户名/密码/访问令牌认证。若同时发送大量此类请求可能导致临时 IP 封禁。建议改用 SSH 密钥与 GitLab 交互。
分页响应头
出于性能考虑,当查询结果超过 10,000 条记录时,GitLab 会省略部分响应头。
可见性设置
在 JihuLab.com 上,项目、群组和代码片段无法使用"内部"可见性设置,此功能已被禁用。
SSH 最大连接数
JihuLab.com 通过 MaxStartups 配置限制未认证 SSH 并发连接数。当并发连接数超过限制时,新连接会被丢弃,用户会收到 ssh_exchange_identification 错误。
通过上传导出文件导入群组/项目
为防止滥用,以下操作设有速率限制:
- 项目和群组导入
- 使用文件导出的群组和项目
- 导出文件下载
详见:
不可配置的限制
有关不可配置速率限制的信息,请参阅不可配置的限制,这些限制同样适用于 JihuLab。
JihuLab.com 特定的 Gitaly RPC 并发限制
针对不同类型的 Git 操作(如 git clone),JihuLab.com 配置了每仓库 Gitaly RPC 并发和队列限制。当超过这些限制时,客户端将收到 fatal: remote error: GitLab is currently unable to handle this request due to load 错误消息。
管理员文档请参阅 限制 RPC 并发。
JihuLab.com 日志系统
我们使用Fluentd解析日志。Fluentd 将日志发送至:
- Stackdriver Logging
- Cloud Pub/Sub Stackdriver 用于将日志长期存储在 Google 冷存储(GCS)中。 Cloud Pub/Sub 通过pubsubbeat将日志转发至Elastic 集群。
您可以在我们的运维手册中查看以下信息:
- 详细的日志记录清单
- 当前日志保留策略
- 日志基础设施架构图
作业日志
默认情况下,GitLab 不会使作业日志过期。作业日志会被永久保留,且在 JihuLab.com 上无法配置过期时间。您可以通过以下方式清除作业日志:
JihuLab.com 的大规模部署
除了 GitLab 企业版 Linux 软件包安装外,JihuLab.com 还使用以下应用程序和设置来实现大规模部署。所有设置均公开可用,参见:
- Kubernetes 配置
- Chef 配置手册
Elastic 集群
我们使用 Elasticsearch 和 Kibana 作为监控解决方案的一部分:
- gitlab-cookbooks / gitlab-elk · GitLab
- gitlab-cookbooks / gitlab_elasticsearch · GitLab
Fluentd
使用 Fluentd 统一管理 GitLab 日志:
- gitlab-cookbooks / gitlab_fluentd · GitLab
Prometheus
Prometheus 完善我们的监控体系:
- gitlab-cookbooks / gitlab-prometheus · GitLab
Grafana
用于监控数据的可视化:
- gitlab-cookbooks / gitlab-grafana · GitLab
Sentry
开源错误跟踪系统:
- gitlab-cookbooks / gitlab-sentry · GitLab
Consul
服务发现工具:
- gitlab-cookbooks / gitlab_consul · GitLab
HAProxy
高性能 TCP/HTTP 负载均衡器:
- gitlab-cookbooks / gitlab-haproxy · GitLab
Sidekiq
JihuLab.com 运行 Sidekiq 作为 外部进程 来处理 Ruby 作业调度。
当前设置参见 JihuLab.com Kubernetes Pod 配置