GitLab 简介
GitLab 是一个 DevOps 平台,把 Git 仓库托管、合并请求(merge request)、议题跟踪、软件包仓库和持续集成(CI/CD)集中在同一个应用里。社区版(CE)是开源的,适合开发团队、软件外包公司和小型企业,尤其是希望把代码和流水线放在自己可控服务器上的用户。
VPS 交付时(Linux 系统,可选 Debian 12 或 13,Ubuntu 20.04、22.04 或 24.04),GitLab CE 已通过 Omnibus 安装包,从官方源 packages.gitlab.com 安装完成。系统会为服务器的公网 IP 生成一张有效期 10 年的自签名 TLS 证书。外部地址配置为 https://SERVER_IP,HTTP 请求会自动跳转到 HTTPS。
管理员账号为 root,初始密码保存在 /etc/gitlab/initial_root_password。按照安装方案的要求,服务器至少需要 4 GB 内存(建议 8 GB)和 2 个 CPU 核心。GitLab 对资源的需求较高,请据此选择 VPS 配置。
用 GitLab 可以做什么
官方 Omnibus 安装
GitLab CE 从 GitLab 官方 apt 源安装,并通过
gitlab-ctl reconfigure完成配置。之后的升级同样通过 apt 进行。交付即启用 HTTPS
系统会在
/etc/gitlab/ssl/下为服务器 IP 生成 RSA 2048 自签名证书,Nginx 会把 HTTP 重定向到 HTTPS。自动生成 root 密码
root账号的初始密码保存在/etc/gitlab/initial_root_password,不存在众所周知的默认密码。仓库、评审与 CI/CD
合并请求、议题、Wiki、软件包仓库和 CI/CD 流水线都在同一个界面中,无需再对接第三方工具。
单文件集中配置
所有设置都在
/etc/gitlab/gitlab.rb中完成,修改后执行gitlab-ctl reconfigure即可生效。这个文件便于纳入版本管理,也方便在其他服务器上复现。
GitLab 快速上手
从下单到上线,只需几分钟。
- 1
下单并勾选 GitLab
选择位于巴黎或法兰克福的 [Linux VPS](/vps-linux),内存至少 4 GB(建议 8 GB)。在订购表单的“应用”选项卡中勾选 GitLab。
- 2
等待交付并连接服务器
服务器启动后,安装和初始配置需要几分钟。您可以通过 SSH 登录查看进度,完成后读取 root 密码。
Bashssh root@SERVER_IP tail -f /var/log/cloud-init-output.log sudo cat /etc/gitlab/initial_root_password - 3
打开 GitLab 并登录
在浏览器中访问 https://SERVER_IP,并接受由自签名证书引起的安全警告。使用
root和上一步读取的密码登录,然后在个人资料中修改密码。Bashsudo gitlab-ctl status - 4
加固以用于生产环境
将域名解析到服务器,然后把
/etc/gitlab/gitlab.rb中的external_url改为https://YOUR_DOMAIN。启用 Let's Encrypt(letsencrypt['enable'] = true)或安装您自己的证书,再应用配置。用防火墙限制访问(开放 22、80 和 443 端口),并安排定期备份。Bashsudo nano /etc/gitlab/gitlab.rb sudo gitlab-ctl reconfigure sudo gitlab-backup create
GitLab 的使用场景
团队私有 Git 代码托管
把项目源码托管在由您自己管理的欧洲服务器上,并按群组和项目分配访问权限。
内部 CI/CD 流水线
通过与代码一同进行版本管理的
.gitlab-ci.yml文件,在您自己的 runner 上执行测试和部署。从托管服务迁移
从 GitHub 或其他 GitLab 实例导入仓库,重新掌握自己的数据和访问规则。
学习与测试环境
在改动生产环境之前,先在独立服务器上试验 GitLab 配置、备份恢复或版本升级。
GitLab 常见问题
安装方案要求至少 4 GB,建议 8 GB,并且至少有 2 个 CPU 核心。内存低于这个值时,安装可能失败,界面也会变得非常慢。如果经常使用 CI/CD,建议直接选 8 GB。
深入了解 GitLab
替换自签名证书
默认证书绑定的是 IP 地址,所以浏览器会显示警告。要消除警告,请使用域名(参见 /web-domains),并修改 /etc/gitlab/gitlab.rb:
Rubyexternal_url 'https://YOUR_DOMAIN' letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@YOUR_DOMAIN']
然后执行 sudo gitlab-ctl reconfigure。域名必须已经解析到该服务器,并且 80 和 443 端口要能从外部访问,否则无法完成证书验证。
资源与内存
GitLab 会同时运行多个服务(Puma、Sidekiq、PostgreSQL、Redis、Nginx、Gitaly)。4 GB 内存可以满足小团队使用,但建议配置 swap 并留出一定余量。如果流水线运行频繁,或用户达到几十人,请升级到 8 GB。
备份与升级
sudo gitlab-backup create 会生成应用数据的归档。此归档不包含 /etc/gitlab/gitlab.rb 和 /etc/gitlab/gitlab-secrets.json,请另行备份这两个文件。升级时执行 sudo apt update && sudo apt install gitlab-ce。升级前请先阅读官方的升级路径说明,因为 GitLab 有时要求先升级到特定的中间版本。