温馨提示×

如何在Linux配置GitLab

小樊
37
2026-08-13 04:05:48
栏目: 智能运维

在 Linux 上配置 GitLab 通常有两种常见方式:Omnibus 包安装(官方推荐)Docker 安装。下面我先给你一个最常用、最完整的 Omnibus 安装配置流程,适用于 Ubuntu / Debian / CentOS / RHEL


一、准备工作

1. 系统要求

  • 内存:至少 4GB(推荐 8GB+)
  • CPU:2 核以上
  • 磁盘:至少 20GB(视仓库大小而定)
  • 系统
    • Ubuntu 20.04 / 22.04
    • Debian 10 / 11
    • CentOS 7 / 8
    • RHEL 7 / 8

二、使用 Omnibus 安装 GitLab(推荐)

1. 安装依赖

# Ubuntu / Debian
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata

# CentOS / RHEL
sudo yum install -y curl policycoreutils openssh-server

2. 添加 GitLab 官方仓库

curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/gitlab-archive-keyring.gpg

# Ubuntu / Debian
echo "deb [signed-by=/usr/share/keyrings/gitlab-archive-keyring.gpg] https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab_gitlab-ce.list

sudo apt update

3. 安装 GitLab CE

sudo EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ce

说明

  • EXTERNAL_URL 是 GitLab 访问地址
  • 如果是本机测试,可写:
sudo EXTERNAL_URL="http://192.168.1.100"

三、配置 GitLab

1. 编辑配置文件

sudo vim /etc/gitlab/gitlab.rb

常见配置项:

external_url 'http://gitlab.example.com'

# 邮件配置(可选)
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "your@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

2. 应用配置

sudo gitlab-ctl reconfigure

⚠️ 第一次执行时间较长,请耐心等待。


四、访问 GitLab

浏览器访问:

http://服务器IP

首次登录:

  • 用户名:root
  • 密码查看:
sudo cat /etc/gitlab/initial_root_password

⚠️ 密码 24 小时后失效,请尽快修改。


五、常用管理命令

# 查看状态
sudo gitlab-ctl status

# 启动 / 停止 / 重启
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart

# 查看日志
sudo gitlab-ctl tail

六、防火墙配置(如有)

# Ubuntu
sudo ufw allow 80
sudo ufw allow 22

# CentOS
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

七、Docker 方式(可选,快速)

docker run -d \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume gitlab-config:/etc/gitlab \
  --volume gitlab-logs:/var/log/gitlab \
  --volume gitlab-data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

八、常见问题

1. 访问慢 / 卡顿

  • 内存不足(最常见)
  • 关闭 Swap 或增加 Swap

2. 修改端口

external_url "http://ip:8080"
nginx['listen_port'] = 8080

3. 忘记 root 密码

sudo gitlab-rake "gitlab:password:reset[root]"

九、进阶配置(可选)

  • ✅ HTTPS(Let’s Encrypt)
  • ✅ CI/CD Runner
  • ✅ LDAP / 企业登录
  • ✅ 备份与恢复

如果你愿意,可以告诉我:

  • ✅ 你的 Linux 发行版
  • ✅ 是 本地服务器 / 云服务器
  • ✅ 是否需要 HTTPS / 邮箱 / CI

我可以给你一份完全定制的 GitLab 配置方案

0