温馨提示×

gitlab如何 linux部署

小樊
50
2026-09-22 18:18:53
栏目: 智能运维

下面给你一份在 Linux 上部署 GitLab(CE 社区版)的常用、稳妥方案,适合自建服务器 / 虚拟机 / 云主机。


一、推荐方式(最简单):Omnibus 包安装

GitLab 官方提供 一键安装包,包含 Git、Nginx、PostgreSQL、Redis 等。

1. 系统要求

  • Linux:Ubuntu / Debian / CentOS / RHEL
  • 内存:至少 4GB(推荐 4–8GB)
  • CPU:2 核以上
  • 磁盘:20GB+

二、Ubuntu / Debian 安装 GitLab

1. 安装依赖

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

postfix 选 Internet Site 即可


2. 添加 GitLab 源

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

3. 安装 GitLab

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

如果是 IP 访问:

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

4. 初始化配置

sudo gitlab-ctl reconfigure

5. 启动与状态

sudo gitlab-ctl start
sudo gitlab-ctl status

浏览器访问:

http://服务器IP

首次登录账号:

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

三、CentOS / RHEL 安装 GitLab

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

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

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

sudo gitlab-ctl reconfigure

四、Docker 方式(更灵活)

1. 安装 Docker

curl -fsSL https://get.docker.com | bash
systemctl enable docker

2. 启动 GitLab

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

访问:

http://服务器IP

五、常见配置

修改访问地址

sudo vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.yourdomain.com'
sudo gitlab-ctl reconfigure

配置 HTTPS(可选)

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

常用命令

gitlab-ctl start
gitlab-ctl stop
gitlab-ctl restart
gitlab-ctl status
gitlab-ctl tail

六、常见问题

  • 访问慢:内存不足,至少 4G
  • 502:服务未完全启动,等 1–2 分钟
  • 端口冲突:改 gitlab.rb 中 nginx 端口

如果你告诉我:

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

我可以给你专属部署命令。

0 踩