温馨提示×

怎样部署linux gitlab

小樊
55
2026-09-04 14:34:37
栏目: 智能运维

下面按常见场景给你讲怎么在 Linux 上部署 GitLab,从「最省事」到「可控性强」三种方式,你可以按自己情况选。


一、最推荐:使用官方 Omnibus 安装包(生产环境首选)

1. 系统要求

  • Linux:Ubuntu / Debian / CentOS / Rocky / Alma
  • 内存:至少 4GB(推荐 8GB+)
  • CPU:2 核以上

2. Ubuntu / Debian 安装示例

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

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

# 安装 GitLab(替换成你的域名)
sudo EXTERNAL_URL="https://gitlab.example.com" apt install gitlab-ee

如果用 CE(社区版):

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

3. CentOS / Rocky / Alma

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

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

sudo EXTERNAL_URL="https://gitlab.example.com" yum install gitlab-ee

4. 初始化并启动

sudo gitlab-ctl reconfigure

访问:

https://你的IP或域名

首次登录账号:root
密码在:

sudo cat /etc/gitlab/initial_root_password

二、Docker 方式(适合测试 / 快速部署)

1. 安装 Docker

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

2. 启动 GitLab

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

访问:

http://服务器IP

三、Docker Compose(推荐生产测试环境)

docker-compose.yml 示例:

version: '3.7'
services:
  gitlab:
    image: gitlab/gitlab-ee:latest
    container_name: gitlab
    hostname: gitlab.example.com
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.example.com'
    ports:
      - "80:80"
      - "443:443"
      - "22:22"
    volumes:
      - ./config:/etc/gitlab
      - ./logs:/var/log/gitlab
      - ./data:/var/opt/gitlab
    restart: always
docker compose up -d

四、常见配置

修改外部访问地址

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

配置 SMTP(发邮件)

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

五、常用运维命令

sudo gitlab-ctl status
sudo gitlab-ctl restart
sudo gitlab-ctl stop
sudo gitlab-ctl tail

六、部署建议(重要)

✅ 生产环境:

  • 用 Omnibus 或 Docker
  • 配置 HTTPS(Let’s Encrypt)
  • 定期备份:
sudo gitlab-rake gitlab:backup:create

✅ 小规模团队:

  • 4G 内存勉强可用
  • 关闭不需要的服务(Pages、Registry)

如果你告诉我:

  • 系统版本(Ubuntu/CentOS?)
  • 是否公网
  • 是否要 HTTPS
  • 人数规模

我可以给你定制化部署方案。

0 踩