fedora上安装gitlab-runner安装与配置

1. 前言

本文主要讲述如何在fedora上安装gitlab-runner,安装和配置过程同样适用于其他Linux发行版。

本文是gitlab-runner安装和配置姊妹篇中的一篇,主要针对fedora操作系统,其它操作系统可以参考针对特定操作系统的姊妹篇。

gitlab-runner安装与配置

macOS上安装gitlab-runner安装与配置

ubuntu上安装gitlab-runner安装与配置

windows上安装gitlab-runner

安装gitlab-runner有两种方式: 一种是使用deb/rpm包安装; 一种是使用二进制文件安装.

本文会分别介绍这两种安装方式。

2. 安装前准备工作

2.1. 确认git版本与gitlab-runner的版本兼容性

git与git-runner的版本兼容性没有明确的文件描述,但是当gitlab-runner不能正常从gitlab 拉取项目时,如果有报错此时需要考虑两者之间的兼容性问题。

原则上如果是新安装gitlab-runner, 保证git是2.2以上版本。

大多情况下操作系统都会自带git。但是存在一些操作系统版本较旧,需要手动安装git的情况。

本人就遇到Centos 7.9上git版本太旧与gitlab-runner存在兼容性问题的情况,需要手动安装。大多数情况都可以找到git repo使用rpm或者debian库,使用安装包安装。

但是依然存在需要通过源码安装的情况。如果要手动安装可以参考我之前的文章Centos7上源码安装git2.x

2.2. 确认gitlab-runner与gitlab的兼容性

关于gitlab-runner与gitlab的兼容性原则,gitlab和gitlab-runner在主版本和小版本(major.minor)保持同步,具有相同主版本和小版本号的gitlab和gitlab-runner兼容性最好, 较老的runner可能可以兼容比較新的gitlab,反之亦然,但是不能完全保证.详情请参考官网关于兼容性原文

在下载gitlab-runner之前, 最好确定一下服务器上gitlab当前的版本, 然后找到与之对应的gitlab-runner进行安装, 避免出现兼容性问题.

  • 首先确定gitlab版本信息, 可以使用如下命令在服务器端查询, 当然也可以在gitlab web界面帮助信息中找到版本号.
    1
    2
    3
    4
    5
    6
    7
    gitlab-rake gitlab:env:info

    # 例如
    ...
    GitLab information
    Version: 15.8.1-ee
    Revision: c49deff6e37

3. 下载安装gitlab-runner

安装gitlab-runner有两种方式: 一种是使用deb/rpm包安装; 一种是使用二进制文件安装.

3.1. 方式一:使用rpm包安装gitlab-runner

  1. 首先配置rpm软件仓库

如果访问外网速度够快,可以使用gitlab官方镜像下载,配置方法如下

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

如果不能访问外网,也没有魔法,则可以手动配置软件仓库。

想要获取魔法可以访问鹏叔的博客空间首页

手动创建文件/etc/yum.repos.d/gitlab_gitlab-ee.repo,内容如下,配置中使用的是清华镜像站。
也可以到中科大,上海交大等镜像站找一找。

1
2
3
4
5
[gitlab_gitlab-ee]
name=Gitlab EE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el$releasever/
gpgcheck=0
enabled=1

手动配置好软件仓库后更新yum cache,以便获得最佳下载速度

1
yum makecache fast

查看可安装版本

1
yum list gitlab-runner --showduplicates | sort -r

安装runner

1
2
3
4

# x.y.z为版本号 例如gitlab-runner-15.8.3
sudo yum install -y gitlab-runner-x.y.z

说明:

运行此命令, 背后到底做了些什么?

  1. 安装了gitlab-runner必要的二进制文件, 配置文件
  2. 创建了gitlab-runner用户
  3. 将gitlab-runner 注册为服务并设置为开机启动

3.2. 方式二:使用使用二进制文件安装gitlab-runner

  1. 下载gitlab-runner,放置到PATH路径下

例如:/usr/local/bin/

不同的硬件架构对应不同的二进制文件,更多版本参考download-any-other-tagged-release

推荐下载与gitlab server相兼容的gitlab-runner的特定版本.
关于gitlab-runner与gitlab的兼容性原则,gitlab和gitlab-runner在主版本和小版本(major.minor)保持同步,具有相同主版本和小版本号的gitlab和gitlab-runner兼容性最好, 较老的runner可能可以兼容比較新的gitlab,反之亦然,但是不能完全保证.详情请参考官网关于兼容性原文
Bleeding Edge - download any other tagged release页面上找到特定版本的二进制文件连接, 将以上命令中的url替换即可.

1
2
3
4

# Linux x86-64
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/<version>/binaries/gitlab-runner-linux-amd64"

替换为与gitlab server相兼容的版本

  1. 授予gitlab-runner可执行权限
1
2
3

sudo chmod +x /usr/local/bin/gitlab-runner

  1. 创建gitlab-runner用户
1
2
3

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

  1. 安装为服务并启动gitlab-runner
1
2
3
4

sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start

4. 注册gitlab-runner

  • 向GitLab-CI注册一个Runner需要两样东西:GitLab-CI的url和注册token。

  • 其中,token是为了确定你这个Runner是所有工程都能够使用的Shared Runner还是具体某一个工程才能使用的Specific Runner。

  • 如果要注册Shared Runner,你需要到管理界面的Runners页面里面去找注册token.

  • 打开gitlab页面menue > admin > Settings > CI/CD > runner registration, 在Setup shared runner一节可以找到相应的url和token

  • 注册完成之后,在页面menue > admin > runner就会多出一条Runner记录

    1
    2
    3

    sudo gitlab-runner register --url your_gitlab_server_url --registration-token your_token

关联阅读

gitlab安装升级及迁移

使用gitlab issue board的四种方式

GitLab集成PlantUML

gitlab-runner安装与配置

macOS上安装gitlab-runner安装与配置

ubuntu上安装gitlab-runner安装与配置

windows上安装gitlab-runner

gitlab CICD基础

5. 参考文档

Install GitLab Runner manually on GNU/Linux