温馨提示×

linux gitlab怎样部署

小樊
50
2026-10-10 09:11:07
栏目: 智能运维

下面按最常见的 Linux 部署方式,给你一个清晰、可操作的 GitLab 部署指南(以 GitLab CE + Ubuntu / CentOS 为例)。如果你指的是 Docker / Kubernetes / 离线环境,我也可以再补充。


一、部署前准备

1. 系统要求(GitLab CE 推荐)

  • CPU:至少 2 核(4 核更稳)
  • 内存:至少 4 GB(8 GB 推荐)
  • 磁盘:至少 20 GB(代码多要更大)
  • 系统:
    • Ubuntu 20.04 / 22.04
    • CentOS 7 / 8(CentOS 已停止维护,建议用 Rocky / Alma)

2. 关闭 SELinux(CentOS 系)

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

二、使用官方包安装(最推荐)

✅ Ubuntu 安装 GitLab CE

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

# 添加 GitLab 源
curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/setup.sh | sudo bash

# 安装 GitLab
sudo EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ce

⚠ EXTERNAL_URL 改成你的域名或 IP,如:

EXTERNAL_URL="http://192.168.1.100"

✅ CentOS / Rocky / Alma 安装

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

curl -fsSL https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/setup.sh | sudo bash

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

三、初始化配置

sudo gitlab-ctl reconfigure

首次启动会花几分钟,完成后访问:

http://你的IP或域名

设置 root 密码

  • 页面会提示设置 root 密码
  • 默认用户名:root

四、常用管理命令

# 启动
sudo gitlab-ctl start

# 停止
sudo gitlab-ctl stop

# 重启
sudo gitlab-ctl restart

# 查看状态
sudo gitlab-ctl status

# 查看日志
sudo gitlab-ctl tail

五、修改配置(如端口、域名)

编辑配置文件:

sudo vim /etc/gitlab/gitlab.rb

示例:

external_url 'http://gitlab.example.com'
nginx['listen_port'] = 8080

修改后执行:

sudo gitlab-ctl reconfigure

六、使用 Docker 部署(更简单)

docker run -d \
  --hostname gitlab.example.com \
  -p 443:443 -p 80:80 -p 22:22 \
  --name gitlab \
  -v /srv/gitlab/config:/etc/gitlab \
  -v /srv/gitlab/logs:/var/log/gitlab \
  -v /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

七、常见问题

1. 访问很慢

  • 内存不足
  • 未关闭 Swap
  • 开启了不必要的服务(如 Prometheus)

2. 端口冲突

  • 改 nginx['listen_port']
  • 或 Docker 映射端口

3. 忘记 root 密码

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

八、你接下来可以做什么

  • 配置 HTTPS(Let’s Encrypt)
  • 配置邮件(SMTP)
  • 创建用户 / 群组 / 项目
  • 配置 CI/CD Runner

如果你告诉我:

  • ✅ 用的是 Ubuntu / CentOS / Docker
  • ✅ 是否 内网 / 公网
  • ✅ 是否需要 HTTPS / CI

我可以直接给你更精确的部署方案。

0 踩