温馨提示×

linux gitlab runner如何配置

小樊
57
2026-10-19 03:09:48
栏目: 智能运维

下面按常见场景给你一个清晰、可落地的 Linux GitLab Runner 配置指南(以 Ubuntu / CentOS 为例,使用 shell / docker executor 最常见)。


一、安装 GitLab Runner(Linux)

1. 添加官方仓库并安装

Ubuntu / Debian

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

CentOS / RHEL

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

安装完成后:

gitlab-runner --version

二、获取 GitLab 注册信息

在 GitLab 项目中:

项目 / 群组 → Settings → CI/CD → Runners → Expand

你会看到:

  • GitLab URL
  • Registration Token

三、注册 Runner

sudo gitlab-runner register

按提示输入:

Enter the GitLab instance URL:
https://gitlab.com   # 或你的私有地址

Enter the registration token:
xxxxxx

Enter a description for the runner:
my-linux-runner

Enter tags for the runner (comma-separated):
linux,shell

Enter an executor:
shell   # 或 docker

四、常见 Executor 配置

✅ 1. Shell Executor(最简单)

适合:

  • 构建服务器
  • 本机编译

注册后配置:

[[runners]]
  name = "my-linux-runner"
  url = "https://gitlab.com"
  token = "xxxxx"
  executor = "shell"

⚠️ 注意:shell runner 会以 gitlab-runner 用户运行,注意权限问题


✅ 2. Docker Executor(推荐)

sudo gitlab-runner register
executor: docker
default image: docker:latest

示例配置:

[[runners]]
  name = "docker-runner"
  url = "https://gitlab.com"
  token = "xxxxx"
  executor = "docker"
  [runners.docker]
    image = "docker:latest"
    privileged = true

若用到 Docker-in-Docker,需要 privileged = true


五、启动与管理 Runner

sudo gitlab-runner status
sudo gitlab-runner restart
sudo gitlab-runner verify

开机自启(systemd):

sudo systemctl enable gitlab-runner
sudo systemctl start gitlab-runner

六、权限与常见问题

1. docker 权限问题

sudo usermod -aG docker gitlab-runner
sudo reboot

2. 使用 root 运行(不推荐但常见)

sudo gitlab-runner uninstall
sudo gitlab-runner install --user=root
sudo gitlab-runner start

3. 指定 runner 只在某项目运行

  • 注册时不勾选「共享 runner」
  • 在 .gitlab-ci.yml 中指定 tags:
job:
  tags:
    - linux

七、示例 .gitlab-ci.yml

stages:
  - build

build:
  tags:
    - linux
  script:
    - echo "Hello GitLab Runner"
    - uname -a

八、官方文档

  • https://docs.gitlab.com/runner/
  • https://docs.gitlab.com/runner/register/

如果你愿意,可以告诉我:

  • ✅ 用的是 GitLab.com 还是私有 GitLab
  • ✅ 想用 shell / docker / k8s
  • ✅ 是 构建 / 部署 / 编译

我可以给你更精确的配置示例。

0 踩