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

开始管理 GitLab

  • 层级:Free, Premium, Ultimate
  • 提供方式:GitLab 自托管

开始使用 GitLab 管理功能。配置您的组织及其认证,然后确保安全、监控并备份 GitLab。

认证

认证是使安装更安全的第一步。

  • 为所有用户强制启用双因素认证 (2FA)。您应该对 GitLab 自托管实例使用 2FA。
  • 确保用户执行以下操作:
    • 选择强密码。如果可能,将其存储在密码管理系统中。
    • 如果未对所有用户配置,请为您的账户开启 双因素认证 (2FA)。这个一次性秘密码是一种额外的保护措施,即使入侵者拥有您的密码,也能阻止他们进入。
    • 添加备用邮箱。如果您失去账户访问权限,GitLab 支持团队可以更快地帮助您。
    • 保存或打印您的恢复码。如果您无法访问身份验证设备,可以使用这些恢复码登录 GitLab 账户。
    • 向您的资料添加 SSH 密钥。您可以根据需要生成恢复码,通过 SSH 实现。
    • 创建 个人访问令牌。当您使用 2FA 时,可以使用这些令牌访问 GitLab API。

项目和群组

通过配置群组和项目来组织您的环境。

  • 项目:为文件和代码指定一个家,或在业务类别中跟踪和组织问题。
  • 群组:组织一组用户或项目。使用这些群组快速分配人员和项目。
  • 角色:定义项目和群组的用户访问权限和可见性。

观看 群组和项目 的概览视频。

开始操作:

更多资源

导入项目

您可能需要从外部来源(如 GitHub、Bitbucket 或另一个 GitLab 实例)导入项目。许多外部来源都可以导入到 GitLab 中。

热门项目导入

有关这些数据类型的帮助,请联系您的 GitLab 账户经理或 GitLab 支持团队,了解我们的专业迁移服务。

GitLab 实例安全

安全性是入职流程的重要组成部分。保护您的实例可以保障您的工作和组织的安全。

虽然这不是一份详尽的清单,但遵循这些步骤能让您为实例安全打下坚实基础:

监控GitLab性能

完成基础设置后,您可以查看GitLab监控服务。Prometheus是我们的核心性能监控工具。 与其他监控方案(例如Zabbix或New Relic)不同,Prometheus与GitLab深度集成,且有广泛社区支持。

监控组件

  • Web服务器:处理服务器请求并促进其他后台服务事务。监控CPU、内存和网络IO流量以跟踪节点健康状态。
  • Workhorse:缓解主服务器的网络拥堵。监控延迟峰值以跟踪节点健康状态。
  • Sidekiq:处理后台操作,使GitLab运行顺畅。监控长时间未处理的任务队列以跟踪节点健康状态。

备份您的GitLab数据

GitLab提供备份数据的方法,以确保您的数据安全和可恢复。无论您使用GitLab自托管还是GitLab.com数据库,定期备份数据都至关重要。

  • 制定备份策略。
  • 考虑编写cron作业进行每日备份。
  • 单独备份配置文件。
  • 决定哪些内容不应包含在备份中。
  • 决定上传备份的位置。
  • 限制备份生命周期。
  • 运行测试备份和恢复。
  • 建立定期验证备份的方式。

备份实例

根据部署方式(Linux包或Helm Chart),流程有所不同。

对于使用Linux包的单节点安装,可通过单个Rake任务完成备份。

了解备份Linux包或Helm变体。 此过程会备份整个实例,但不包括配置文件。请确保单独备份这些文件。 将配置文件和备份归档存放在独立位置,确保加密密钥不与加密数据一同保存。

恢复备份

仅能将备份恢复到完全相同版本和类型(社区版/企业版)的GitLab上。

备份 GitLab SaaS

我们通过 磁盘快照 每小时对生产数据库执行一次备份,并通过 wal-g 基础备份 每 24 小时执行一次备份,同时将 持续归档或 WAL 事务日志文件 流式传输到 GCS 以实现时间点恢复。

所有备份均已加密。90 天后,备份将被删除。

  • GitLab SaaS 创建备份以确保您的数据安全,但您不能使用这些方法自行导出或备份数据。
  • 问题存储在数据库中。它们无法存储在 Git 本身中。
  • 您可以在以下位置使用项目导出选项:
  • 通过上传文件导出组 不会 导出其中的项目,但会导出:
    • 史诗(Epic)
    • 里程碑(Milestone)
    • 看板(Board)
    • 标签(Label)
    • 其他项

您不应使用 直接传输项目导出文件 来备份数据。项目导出文件并不总是适用于数据备份,且并非所有项都会被导出。

替代备份策略

在某些情况下,用于备份的 Rake 任务可能不是最优解。如果该任务对您无效,以下是可考虑的 替代方案

选项 1:文件系统快照

如果您的 GitLab 服务器包含大量 Git 仓库数据,您可能会发现 GitLab 备份脚本速度过慢。尤其是备份到异地位置时,这种情况更为明显。

通常在 Git 仓库数据大小约为 200 GB 时开始出现缓慢。在这种情况下,您可以考虑将文件系统快照作为备份策略的一部分。例如,考虑一个具有以下组件的 GitLab 服务器:

  • 使用 Linux 包。
  • 托管在 AWS 上,EBS 驱动器包含挂载在 /var/opt/gitlab 的 ext4 文件系统。

EC2 实例通过拍摄 EBS 快照满足应用程序数据备份的要求。备份包括所有仓库、上传内容和 PostgreSQL 数据。

如果您在虚拟化服务器上运行 GitLab,可以创建整个 GitLab 服务器的 VM 快照。VM 快照通常需要您关闭服务器电源。

选项 2:GitLab Geo

  • 层级:高级版、旗舰版
  • 提供:GitLab 自托管

Geo 提供本地只读的 GitLab 实例副本。虽然 GitLab Geo 通过使用本地 GitLab 节点帮助远程团队更高效地工作,但它也可用作灾难恢复解决方案。了解有关将 Geo 用作灾难恢复解决方案 的更多信息。

Geo 复制您的数据库、Git 仓库和其他一些资产。了解更多关于 Geo 复制的 dataType

对 GitLab 自托管的支持

GitLab 通过不同渠道为 GitLab 自托管提供支持。

  • 优先支持:高级版和旗舰版 GitLab 自托管客户可获得分层响应时间的优先支持。了解有关 升级至优先支持 的更多信息。
  • 现场升级协助:在生产升级期间获得一对一专家指导。凭借您的 优先支持计划,您可以获得与我们的支持团队成员进行实时、预定的屏幕共享会议的资格。

要获取 GitLab 自托管的协助:

GitLab SaaS支持

GitLab SaaS提供全天候监控。我们的全站可靠性与生产工程师团队随时待命。
很多时候,等你发现问题,已经有人在处理了。

获取GitLab SaaS帮助的方式:

GitLab自托管版本的API与速率限制

速率限制可防止拒绝服务攻击或暴力破解攻击。在大多数情况下,通过限制单个IP地址的请求频率,可以降低应用程序和基础设施的负载。

速率限制还能提升应用程序的安全性。

配置GitLab自托管版本的速率限制

您可以从Admin区域对默认速率限制进行调整。有关配置的更多信息,请参阅Admin区域页面

有关API和速率限制的更多信息,请参阅我们的API页面

GitLab SaaS的API与速率限制

速率限制可防止拒绝服务攻击或暴力破解攻击。当GitLab.com收到来自单一IP地址的异常流量时,通常会触发IP封锁。系统会根据速率限制设置,将异常流量视为潜在恶意行为。

速率限制还能提升应用程序的安全性。

配置GitLab SaaS的速率限制

您可以从Admin区域对默认速率限制进行调整。有关配置的更多信息,请参阅Admin区域页面

  • 查看速率限制页面。
  • 阅读API页面以了解更多关于API和速率限制的信息。

GitLab SaaS特有的阻止和错误响应

  • 403禁止错误:如果该错误出现在所有GitLab SaaS请求中,请查找可能触发阻止的自动化流程。如需更多帮助,请联系GitLab支持,并提供包含受影响IP地址的错误详情。
  • HAProxy API限流:当单个IP地址每秒超过10个API请求时,GitLab SaaS会返回HTTP状态码429。
  • 保护路径限流:当单个IP地址在受保护的路径上每分钟超过10个POST请求时,GitLab SaaS会返回HTTP状态码429。
  • Git和容器注册表身份验证失败封禁:如果GitLab SaaS在三分钟内收到来自同一IP地址的30次身份验证失败请求,则会返回HTTP状态码403并持续一小时。

GitLab培训资源

您可以学习如何管理GitLab。

  • 参与GitLab论坛,与我们才华横溢的社区交流技巧。
  • 查看我们博客以获取最新更新,包括:
    • 发布版本
    • 应用程序
    • 贡献
    • 新闻
    • 活动

付费GitLab培训

免费GitLab培训

第三方培训