【Gitlab CI/CD】001 认识 Gitlab Runner

2025-10-25 16:35:54

代码上传到 Gitlab,通过设置可以实现自动部署,非常的方便。

背后完成这一切工作的关键工具叫做 Gitlab Runner,本文介绍这个工具。

一、概述

整个工作流程大致就是上面这张图,概括如下,具体操作细节会在后面详细介绍。

步骤1:在 Gitlab 上创建一个新项目 gitlab-runner-demo;

步骤2:在 Gitlab 上创建这个项目的 token,token 可以理解为钥匙,有了 token 你在天涯海角都可以找到 gitlab-runner-demo 这个项目;

步骤3:在我们自己的服务器上安装 Gitlab Runner 软件,就把它看成一个普通软件,和你电脑里安装的微信、QQ 一样;

步骤4:就像微信软件可以用来聊天,网易云音乐软件可以听歌,Gitlab Runner 软件可以创建 runner,创建的时候需要用到步骤2的 token,这样我们自己的服务器就和 Gitlab 关联起来了。

步骤 4 创建的 runner 可以把它看成是 24 小时不休息的工人👷🏻‍♂️,一直监视着 Gitlab 上 gitlab-runner-demo 这个项目,一旦有人提交了代码,runner 就要开始干活了,具体干什么活,就看项目根目录下 .gitlab-ci.yml 这个文件里需要做什么了。

如果项目根目录下没有 .gitlab-ci.yml 文件,那么 runner 就什么也不做。关于 .gitlab-ci.yml 文件,我们下一篇文章会详细介绍。

二、创建项目对应的 token

创建项目对应的 token 对应 概述中的步骤2

  1. 项目所在页面 -> Settings -> CI/CD -> Runners -> Create project runner

  1. 填写 Tags -> 点击底部的 Create runner 按钮

tags 会在 .gitlab-ci.yml 文件中用到。在你不了解 tags 概念的前提下,前端项目就填 frontend,后端项目就填 backend。

如果要添加多个 tags,每个 tag 之间使用逗号隔开。

  1. 保存 token

将 Step1 也就是下图中红框内容保存到本地,这就是 gitlab-runner-demo 这个项目对应的 token。

一定要保存一下,这个页面关掉之后就找不到 token 了。

三、安装 Gitlab Runner 软件

安装 Gitlab Runner 软件对应 概述中的步骤3

使用 Docker 安装 Gitlab Runner,在终端输入如下命令:

$ docker run -d --name gitlab-runner \
  --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest

参数说明:

  • -v /var/run/docker.sock:/var/run/docker.sock:允许容器内使用宿主机的 Docker 引擎;
  • -v /srv/gitlab-runner/config:/etc/gitlab-runner:持久化 Runner 配置到宿主机;

验证是否安装成功,输入 docker ps 看到如下容器说明安装成功。

$ docker ps
CONTAINER ID   IMAGE                         COMMAND                   CREATED        STATUS       PORTS    NAMES
53e4c01c021c   gitlab/gitlab-runner:latest   "/usr/bin/dumb-init …"   2 hours ago    Up 2 hours            gitlab-runner

四、注册 runner

注册 runner 对应 概述中的步骤4

运行如下命令进入容器内部:

$ docker exec -it gitlab-runner /bin/bash

使用 gitlab-runner 命令注册 runner,这个命令是在前面的 【创建项目对应的 token】 中生成的。

$ gitlab-runner register  --url https://gitlab.com  --token glrt-DuvS8Aiymhb5Mj13xFVwN286MQpwOjE4enJtcwp0OjMKdTo1bTRkeRg.01.1j0un58ik

执行命令时会有一些交互问题,解释一下:

  • 红字1:问你 gitlab 的地址是什么?如果你是自己搭建的 gitlab 网站,就输入你自己的域名,否则就直接回车使用 gitlab 官方域名即可;
  • 红字2:让你给 runner 起一个名字,实际生产环境会有很多个 runner,起名字便于区分。比如这里的 runner 我只想给前端部署使用,就可以叫做 frontend-runner;
  • 红字3:输入一个执行器,这个直接输入 docker;
  • 红字4:让你输入一个 docker 镜像,我要部署的是前端项目,所以输入 node:lts,这是一个 Nodejs 运行环境;

返回 Gitlab 页面,点击 Settings -> CI/CD -> Runners,可以看到我们刚才创建的 runner,并且是绿色的,说明注册成功。

我这里已经注册了很多个 runner,每个 runner 有不同的 tags,你想要自动部署在哪个 runner 上运行,就指定对应的 tag,这个在 .gitlab-ci.yml 文件中指定,下一篇文章会详细介绍。

返回首页

本文总阅读量  次
皖ICP备17026209号-3
总访问量: 
总访客量: