温馨提示×

linux gitlab怎么集成ci

小樊
56
2026-10-04 12:25:46
栏目: 智能运维

在 Linux 服务器上搭建 GitLab 并集成 CI(Continuous Integration),通常指使用 GitLab Runner 来运行 .gitlab-ci.yml 中定义的流水线。下面按「从零到可用」的步骤说明。


一、前提条件

  • 一台 Linux 服务器(Ubuntu / CentOS / Debian 均可)
  • 已安装并运行 GitLab(社区版或企业版)
  • 有项目的 Git 仓库

二、安装 GitLab Runner(核心组件)

1. 添加 GitLab Runner 官方仓库

Ubuntu / Debian

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

CentOS / RHEL

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

2. 安装 Runner

sudo apt install gitlab-runner   # Ubuntu/Debian
# 或
sudo yum install gitlab-runner   # CentOS

三、注册 Runner 到 GitLab

1. 获取 GitLab 注册信息

在 GitLab 项目中:

Settings → CI/CD → Runners → Project runners

你会看到:

  • GitLab URL
  • Registration Token

2. 执行注册命令

sudo gitlab-runner register

按提示输入:

  • GitLab URL
  • Token
  • Runner 描述(如 linux-runner)
  • Tags(如 linux, docker)
  • Executor(推荐 shell 或 docker)

示例(shell 执行器):

Executor: shell

四、配置 .gitlab-ci.yml

在项目根目录创建文件:

stages:
  - build
  - test

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

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

提交后,GitLab 会自动触发 CI。


五、常见 Executor 选择

Executor 适用场景
shell 简单脚本、服务器直接执行
docker 隔离环境、推荐
kubernetes 大规模集群

Docker Executor 示例

注册时选择:

Executor: docker
Default image: alpine:latest

六、检查 Runner 状态

sudo gitlab-runner status
sudo gitlab-runner list

七、常见问题

  • Runner 不触发
    • 检查是否 active
    • 检查 tag 是否匹配
  • 权限问题
    sudo usermod -aG docker gitlab-runner
    

八、进阶(可选)

  • 使用 cache 加速构建
  • 使用 artifacts 传递结果
  • 多 Runner 负载均衡
  • 私有 CI 变量(Settings → CI/CD → Variables)

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

  • 你用的是 Ubuntu 还是 CentOS
  • GitLab 是 自建还是 gitlab.com
  • 想跑 什么语言/项目(Java / Node / C++)

我可以直接给你一份可用的 .gitlab-ci.yml 示例。

0 踩