温馨提示×

怎样配置linux的gitlab

小樊
45
2026-10-04 11:50:47
栏目: 智能运维

下面按最常见的两种场景给你讲:① 用 Omnibus 包安装并配置 GitLab(推荐),② Docker 方式部署 GitLab。如果你只是“配置已有 GitLab”,可直接看第 3 节「常见配置项」。


一、在 Linux 上安装并配置 GitLab(Omnibus,最常用)

1. 系统要求

  • 推荐:Ubuntu 20.04 / 22.04 或 CentOS 7/8
  • 最低:2 核 4G(生产建议 4 核 8G+)

2. 安装 GitLab

以 Ubuntu 为例:

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

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

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

如果是内网,可写成:

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

3. 核心配置文件

GitLab 主配置文件:

/etc/gitlab/gitlab.rb

修改后必须执行:

sudo gitlab-ctl reconfigure

二、常见配置示例(gitlab.rb)

1. 修改访问地址

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

2. 配置 HTTPS(推荐)

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

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']

或自签/证书:

nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"

3. 修改端口(非 80)

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

4. 邮件配置(SMTP)

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@example.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'

测试邮件:

sudo gitlab-rake gitlab:email:test

5. 备份配置

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800

手动备份:

sudo gitlab-rake gitlab:backup:create

三、Docker 方式部署 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

配置文件仍在:

/srv/gitlab/config/gitlab.rb

修改后:

docker exec -it gitlab gitlab-ctl reconfigure

四、常用管理命令

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

首次登录密码:

sudo cat /etc/gitlab/initial_root_password

五、典型问题

  • 502 错误:内存不足或端口冲突
  • 邮件发不出去:检查 SMTP 和防火墙
  • 访问慢:开启 Redis / Puma 调优

如果你能告诉我:

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

我可以直接给你一份可复制的 gitlab.rb 配置。

0 踩