温馨提示×

linux gitlab如何集成

小樊
36
2026-07-01 08:54:54
栏目: 智能运维

Linux 上集成 GitLab,常见场景有几种,我按使用目的给你分别说明,你可以对号入座。如果你能补充一句「我想用 GitLab 做什么(代码托管 / CI/CD / 登录认证 / 与 Jenkins、K8s 集成等)」,我可以给你更精确的方案。


一、在 Linux 上安装 GitLab(最常见)

1️⃣ 推荐方式:Omnibus 安装(最简单)

环境要求

  • Linux(Ubuntu / CentOS / Rocky / Alma)
  • 内存 ≥ 4GB(推荐 8GB)
  • 磁盘 ≥ 20GB

Ubuntu / Debian

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

curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/gitlab-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/gitlab-archive-keyring.gpg] https://packages.gitlab.com/gitlab/gitlab-ee/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab_gitlab-ee.list

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

CentOS / Rocky / Alma

sudo yum install -y curl policycoreutils openssh-server perl

curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /etc/pki/rpm-gpg/gitlab-archive-keyring.gpg

sudo yum install -y gitlab-ee

2️⃣ 初始化 GitLab

sudo gitlab-ctl reconfigure

访问:

http://服务器IP

首次登录:

  • 用户名:root
  • 密码:
sudo gitlab-rake "gitlab:password:reset[root]"

二、GitLab + Linux 常用集成方式

✅ 1. GitLab + SSH(代码拉取 / 推送)

ssh-keygen -t ed25519 -C "your_email@example.com"
cat ~/.ssh/id_ed25519.pub

在 GitLab:

User → Preferences → SSH Keys → 粘贴公钥

测试:

ssh -T git@your-gitlab-server

✅ 2. GitLab CI/CD(Linux Runner)

安装 GitLab Runner

sudo curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt install gitlab-runner

注册 Runner

sudo gitlab-runner register

需要:

  • GitLab URL
  • Registration Token(项目 → Settings → CI/CD)

示例 .gitlab-ci.yml

stages:
  - build
  - test

build_job:
  stage: build
  script:
    - echo "Building..."
    - make

test_job:
  stage: test
  script:
    - echo "Testing..."

✅ 3. GitLab + Linux 服务(Nginx / Docker / Systemd)

GitLab 自带 Nginx

sudo gitlab-ctl status

使用外部 Nginx(可选)

# /etc/gitlab/gitlab.rb
nginx['enable'] = false

✅ 4. GitLab + Docker(推荐)

docker run -d \
  --name gitlab \
  -p 443:443 -p 80:80 -p 22:22 \
  -v gitlab-config:/etc/gitlab \
  -v gitlab-logs:/var/log/gitlab \
  -v gitlab-data:/var/opt/gitlab \
  gitlab/gitlab-ee:latest

三、GitLab 与第三方系统集成(常见)

集成目标 说明
Jenkins GitLab Webhook → Jenkins
Kubernetes GitLab Agent / CI 部署
LDAP / AD 统一登录
Jira Issue 关联
Slack 通知
SonarQube 代码质量

四、日常维护命令

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

备份:

sudo gitlab-backup create

五、我可以进一步帮你

你可以直接告诉我:

  1. Linux 发行版
  2. GitLab 用途(代码仓库?CI/CD?私有云?)
  3. 是否有域名
  4. 是否使用 Docker

我可以给你一步一步精确到命令的安装 + 集成方案

0