温馨提示×

如何搭建linux gitlab

小樊
49
2026-09-04 14:36:38
栏目: 智能运维

下面给你一份从零搭建 Linux 版 GitLab 的实用指南,覆盖最常见场景(自建服务器 / 内网),以及最小可行步骤 + 常见问题


一、准备工作

1. 服务器要求(官方建议)

  • 系统:Ubuntu 20.04 / 22.04(最推荐)
    或 CentOS 7/8(CentOS 已停止维护,谨慎)
  • CPU:至少 2 核(4 核更好)
  • 内存:至少 4 GB(2 GB 会非常卡)
  • 磁盘:20 GB 以上
  • 用户:root 或具有 sudo 权限

2. 域名(可选但推荐)

  • 如:gitlab.example.com
  • 没有域名也可直接用 IP 访问

二、安装 GitLab(以 Ubuntu 为例)

方式一:官方 Omnibus 安装(最简单 ✅)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装依赖

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

3. 添加 GitLab 源

curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

社区版用 gitlab-ce
企业版用 gitlab-ee(功能多,免费也能用)

4. 安装 GitLab

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

如果是 IP 访问:

sudo EXTERNAL_URL="http://192.168.1.100" apt install gitlab-ee -y

三、初始化与访问

1. 重新配置(必须)

sudo gitlab-ctl reconfigure

2. 启动服务

sudo gitlab-ctl start

3. 查看状态

sudo gitlab-ctl status

4. 获取 root 密码

sudo cat /etc/gitlab/initial_root_password

⚠️ 该文件 24 小时后自动删除

浏览器访问:

http://<你的IP或域名>

登录:

  • 用户名:root
  • 密码:上面文件中的内容

四、基础配置(很重要)

1. 修改外部访问地址

编辑配置文件:

sudo vim /etc/gitlab/gitlab.rb

示例:

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

保存后执行:

sudo gitlab-ctl reconfigure

2. 配置邮箱(可选但推荐)

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_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "xxx@qq.com"

然后:

sudo gitlab-ctl reconfigure

五、HTTPS(推荐)

使用 Let’s Encrypt(域名必须公网)

external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
sudo gitlab-ctl reconfigure

六、常用运维命令

# 启动
sudo gitlab-ctl start

# 停止
sudo gitlab-ctl stop

# 重启
sudo gitlab-ctl restart

# 查看日志
sudo gitlab-ctl tail

# 备份
sudo gitlab-rake gitlab:backup:create

# 恢复
sudo gitlab-rake gitlab:backup:restore BACKUP=时间戳

七、常见问题

1. 访问很慢

  • 内存不足(最少 4G)
  • 关闭 Prometheus:
prometheus['enable'] = false

2. 端口冲突(如 80 被占用)

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

3. 忘记 root 密码

sudo gitlab-rails console
user = User.where(id: 1).first
user.password = '新密码'
user.password_confirmation = '新密码'
user.save!

八、Docker 方式(进阶)

如果你更熟悉 Docker:

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

九、总结

✅ 最推荐方案:

  • Ubuntu + Omnibus GitLab
  • 4G 内存起步
  • 域名 + HTTPS
  • 定期备份

如果你告诉我:

  • 系统版本(Ubuntu / CentOS / Docker)
  • 是否内网
  • 是否用域名

我可以直接给你定制版安装命令

0