温馨提示×

linux gitlab如何配置

小樊
38
2026-07-01 07:51:54
栏目: 智能运维

下面我分常见场景给你讲一下 Linux 上 GitLab 的配置方式,你可以按你的需求选择。


一、GitLab 在 Linux 上的两种主要形态

  1. GitLab CE / EE(官方推荐,最常见)

    • 完整 GitLab 服务(Web + CI/CD + Registry 等)
    • 适合企业 / 团队服务器
    • 包管理安装(apt / yum)
  2. GitLab Runner(CI/CD 执行器)

    • 只负责跑 GitLab CI Job
    • 可单独部署

二、GitLab CE/EE 安装与基本配置(最常见)

1️⃣ 系统要求

  • 推荐:
    • CPU:4 核+
    • 内存:8GB+(最低 4GB)
  • 系统:Ubuntu / Debian / CentOS / Rocky / Alma

2️⃣ 安装 GitLab(以 Ubuntu 为例)

① 安装依赖

sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata

② 添加 GitLab 仓库

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

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

③ 安装 GitLab CE

sudo apt update
sudo apt install gitlab-ce

3️⃣ 核心配置(重点)

① 修改配置文件

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'] = "xxx@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

② 使配置生效

sudo gitlab-ctl reconfigure

4️⃣ 启动与常用命令

sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
sudo gitlab-ctl status

查看日志:

sudo gitlab-ctl tail

5️⃣ 初始登录

  1. 浏览器访问:
    http://服务器IP
    
  2. 设置 root 密码
  3. 登录用户:root

三、GitLab Runner 配置(CI/CD)

1️⃣ 安装 Runner

sudo apt install gitlab-runner

2️⃣ 注册 Runner

sudo gitlab-runner register

输入:

  • GitLab URL
  • Registration Token(从 GitLab → Admin → Runners 获取)
  • 描述
  • 标签
  • Executor(shell / docker

3️⃣ 启动 Runner

sudo gitlab-runner start

四、常见配置场景

✅ 修改端口

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

✅ 使用 HTTPS

external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true

✅ 数据目录迁移

git_data_dirs({
  "default" => {
    "path" => "/data/gitlab/git-data"
  }
})

五、目录结构速查

路径 作用
/etc/gitlab/ 配置文件
/var/opt/gitlab/ 数据目录
/var/log/gitlab/ 日志
/opt/gitlab/ 程序文件

六、常见问题

  • 502 错误
    • 内存不足
    • gitlab-ctl reconfigure
  • 无法发邮件
    • 检查 SMTP 配置和防火墙
  • 访问慢
    • 关闭部分服务(Pages、Registry)

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

  • ✅ Ubuntu / CentOS / Rocky?
  • ✅ 本地服务器 / 云服务器?
  • ✅ 是否要 HTTPS
  • ✅ 是否要 CI/CD

我可以直接给你一套最小化可用配置方案

0