温馨提示×

linux上gitlab怎样搭建

小樊
39
2026-10-04 11:47:48
栏目: 智能运维

下面给你一个**在 Linux 上从零搭建 GitLab(自建 GitLab 服务)**的常用方案,以 Ubuntu / CentOS + 官方 Omnibus 包 为例,最稳妥、最省事。


一、准备工作

1. 服务器要求

  • 系统:Ubuntu 20.04/22.04 或 CentOS 7/8
  • 内存:≥ 4GB(推荐 8GB)
  • CPU:≥ 2 核
  • 磁盘:≥ 20GB
  • 已配置域名(可选但推荐)

二、安装 GitLab(Omnibus 方式,推荐)

✅ Ubuntu 示例

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装依赖
sudo apt install -y curl openssh-server ca-certificates postfix

# 添加 GitLab 源
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

安装 社区版(CE):

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

如果是内网,可直接用 IP:

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

✅ CentOS 示例

sudo yum install -y curl policycoreutils openssh-server postfix
sudo systemctl enable sshd postfix
sudo systemctl start sshd postfix

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

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

三、初始化配置

sudo gitlab-ctl reconfigure

等待执行完成(几分钟)


四、访问 GitLab

浏览器访问:

http://服务器IP

首次登录:

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

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


五、常用管理命令

# 启动
sudo gitlab-ctl start

# 停止
sudo gitlab-ctl stop

# 重启
sudo gitlab-ctl restart

# 查看状态
sudo gitlab-ctl status

# 查看日志
sudo gitlab-ctl tail

六、配置域名 & HTTPS(推荐)

编辑配置文件:

sudo vim /etc/gitlab/gitlab.rb
external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true

重新加载:

sudo gitlab-ctl reconfigure

七、防火墙 & 端口

# Ubuntu
sudo ufw allow 80
sudo ufw allow 443

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

八、常见问题

1. 访问慢 / 占用高

  • 关闭不需要的服务(CI、Registry)
  • 增加 swap

2. 忘记 root 密码

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

3. 数据备份

sudo gitlab-rake gitlab:backup:create

九、其他方式(进阶)

方式 说明
Docker GitLab 轻量,适合测试
Kubernetes 企业级
源码安装 不推荐

如果你告诉我:

  • 使用的 Linux 发行版
  • 是否 内网 / 公网
  • 是否需要 Docker 方式

我可以给你精确到命令的搭建方案。

0 踩