Ubuntu搭建gitlab-Ci教程

2023-05-16

本文参考gitlab官方教程搭建CI
GitLab Runner是一款开源工具,用于在GitLab上运行CI/CD(持续集成/持续交付)作业。它可以在多个操作系统上安装和使用,并且可以在容器中运行或部署到Kubernetes集群中。可以通过以下三种方式安装GitLab Runner:

  • 在容器中安装
  • 手动下载二进制文件并安装
  • 使用 rpm/deb 软件包仓库进行安装。

为了安全和性能的考虑,建议将运行GitLab Runner的服务器和托管GitLab代码的服务器分开。
安装完成后,需要向GitLab实例注册 runner,以便GitLab Runner可以运行在GitLab中定义的CI/CD作业。

一、安装

我们在这里使用第三种方式:通过软件包仓库安装。

1.添加官方仓库

Debian/Ubuntu/Mint 运行:

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

RHEL/CentOS/Fedora运行:

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

2. 安装最新版本的GitLab Runner

(如果需要安装指定版本,直接跳到下一步)

Debian/Ubuntu/Mint 运行:

sudo apt-get install gitlab-runner

RHEL/CentOS/Fedora运行:

sudo yum install gitlab-runner

备注:

  • 从GitLab Runner 14.0开始,默认情况下禁用skel目录使用,以防止无此类文件或目录是CI作业失败。
  • 在GitLab 14.7及更高版本中,兼容FIPS 140-2的GitLab Runner版本可用于RHEL发行版。可以使用gitlab runner fips作为软件包名称来安装此版本,而不是使用gitlab runner。

3. 安装指定版本的GitLab Runner

基于Deb的系统:
(我们使用指定版本)

apt-cache madison gitlab-runner
sudo apt-get install gitlab-runner=10.0.0

基于rpm的系统:

yum list gitlab-runner --showduplicates | sort -r
sudo yum install gitlab-runner-10.0.0-1

4. 查看gitlab-runner 版本的命令:

gitlab-runner -v

二、注册runner

  • 在 GitLab Runner 15.0 中,注册请求格式发生了变化,如果你的 GitLab 版本低于 14.8,那么 Runner 就无法与 GitLab 通信。
  • 在 GitLab 15.6 中,传递 Runner 注册令牌的能力已被弃用,并计划在 17.0 版本中删除,因此这是一个破坏性变化。GitLab 计划引入新的 GitLab Runner 令牌体系结构,以引入一种新的注册 Runner 的方法,并消除旧的 Runner 注册令牌。

所以,第一步在安装GitLab Runner 时,要注意版本是否能满足要求。

在 GitLab 中,注册 Runner 是将 Runner 与一个或多个 GitLab 服务器绑定的过程。你可以在同一台主机上注册多个 Runner,每个 Runner 都有不同的配置。为了注册 Runner,你需要运行一个特定的命令(即 register 命令),并提供必要的参数,例如 Runner 的名称、Runner 的标签、GitLab 服务器的 URL 和 Runner 的身份验证令牌等。

1. 注册前需要完成的工作

1.1 安装gitlab runner(不要与托管代码的服务器放在同一台机器),这个第一步已经完成

1.2 获取令牌(Token)

runner 有三个级别,分别对应不同的操作

  • shared runner : 需要管理员转到GitLab管理区域,选择 Overview > Runners
  • group runner:转到 CI/CD > Runners
  • project runner:转到 Settings > CI/CD and expand the Runners section,位置如图:
    在这里插入图片描述

在这里插入图片描述

2. 开始注册

(我们在这里只介绍Linux系统的操作步骤,其它系统请移步官方教程)

  1. 运行:
sudo gitlab-runner register

如果你使用的是代理服务器,那么你需要设置一个环境变量,以便在注册Runner时使用代理服务器。在这里,需要设置HTTP_PROXY和HTTPS_PROXY环境变量。这些变量包含代理服务器的URL和端口号

export HTTP_PROXY=http://yourproxyurl:3128
export HTTPS_PROXY=http://yourproxyurl:3128

sudo -E gitlab-runner register

-----------------------------------------------------
-----------------------------------------------------
export命令用于设置环境变量。
例如,如果你的代理服务器的URL是http://yourproxyurl:3128,那么你需要运行以下命令:

export HTTP_PROXY=http://yourproxyurl:3128
export HTTPS_PROXY=http://yourproxyurl:3128

这样设置环境变量后,你就可以在注册命令前面添加sudo -E选项来使用这些环境变量,例如:

sudo -E gitlab-runner register

问: 如何查看是否使用的是代理服务器?
答: 运行以下命令:

env | grep -i proxy

这个命令会列出所有以“proxy”开头的环境变量,包括HTTP_PROXY、HTTPS_PROXY等。如果你当前使用代理服务器,那么这些变量将显示代理服务器的URL和端口号。例如:

HTTP_PROXY=http://yourproxyurl:3128
HTTPS_PROXY=http://yourproxyurl:3128

如果这些变量没有被设置或者显示为空,那么你就没有使用代理服务器连接互联网。

  1. 输入gitlab的服务URL(也就是托管代码的gitlab服务器网址)

  2. 输入gitlab-ci的Toekn,获取方式参考上图

  3. 输入这个runner的描述信息

  4. 给这个gitlab-runner输入一个标记,这个tag非常重要。开始CI工作之前,我们可以选择使用哪个gitlabrunner编译代码。
    在这里插入图片描述

  5. 是否运行在没有tag的build上面。在配置gitlab-ci的时候,会有很多job,每个job可以通过tags属性来选择runner。这里为true表示如果job没有配置tags,也执行

  6. 是否锁定runner到当前项目

  7. 选择执行器,gitlab-runner实现了很多执行器,可用在不同场景中运行构建。官方建议写docker,但是我们没用docker,这里选用Shell模式

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu搭建gitlab-Ci教程 的相关文章

随机推荐