CI/CD笔记 安装配置Gitlab Runner
- 文章信息 - Author: 李俊才(jcLee95)
Visit me at: https://jclee95.blog.csdn.net
Email: 291148484@163.com.
Shenzhen China
Address of this article: https://blog.csdn.net/qq_28550263/article/details/136296840Address of this article(HuaWei): https://bbs.huaweicloud.com/blogs/422579
【介绍】:GitLab Runner 是一个开源项目,用于运行 CI/CD 作业。它与 GitLab CI/CD 集成,可以在 GitLab 上执行自动化构建、测试和部署任务。
目 录
- [1. 概述](#1. 概述)
-
- [1.1 什么是 GitLab Runner?](#1.1 什么是 GitLab Runner?)
- [1.2 GitLab 工作原理](#1.2 GitLab 工作原理)
- [2. Runner 类型和特性](#2. Runner 类型和特性)
-
- [2.1 Runner 类型](#2.1 Runner 类型)
- [2.2 Runner 特性](#2.2 Runner 特性)
- [3. 安装和配置 GitLab Runner](#3. 安装和配置 GitLab Runner)
-
- [3.1 获取 GitLab Runner Docker 镜像](#3.1 获取 GitLab Runner Docker 镜像)
- [3.2 启动 GitLab Runner 容器](#3.2 启动 GitLab Runner 容器)
- [3.3 注册 GitLab Runner](#3.3 注册 GitLab Runner)
- [3.4 验证 Runner 是否注册成功](#3.4 验证 Runner 是否注册成功)
- [3.5 All Down \^^](#3.5 All Down ^^)
[1. 概述](#1. 概述)
[1.1 什么是 GitLab Runner?](#1.1 什么是 GitLab Runner?)
GitLab Runner 是 GitLab CI/CD 的一个核心组件,承担着负责执行 CI/CD 作业的重要角色。它的设计目的在于为开发团队提供一个灵活且可靠的工具,用于自动化地构建、测试和部署他们的代码。不仅如此,GitLab Runner 还具有多样化的运行环境支持,包括本地机器、虚拟机和容器等不同的部署场景。这意味着团队可以根据项目的需求和特点,在不同的环境中灵活地执行作业,无需受到特定部署平台的限制。此外,GitLab Runner 提供了丰富的配置选项,使得团队可以根据自身需求进行定制化配置,以满足复杂的 CI/CD 流程。这种灵活性和可定制性为团队带来了更高的效率和便利性,使得他们能够更好地适应不同的项目和工作场景。
[1.2 GitLab 工作原理](#1.2 GitLab 工作原理)
GitLab Runner 的工作原理是基于 与 GitLab 服务器之间的协作和通信。
首先,当有作业需要执行时,GitLab 服务器会将作业信息发送给 Runner。这个作业信息包括了作业的定义、所需执行的命令以及其他相关配置。
Runner 接收到作业信息后,根据其中的定义和配置,开始在指定的执行环境中执行作业。这个执行环境可以是本地机器、虚拟机、容器等各种不同的平台,取决于在注册 Runner 时所配置的执行器。在执行作业的过程中,Runner 会按照作业定义的步骤逐一执行命令,例如拉取代码、运行测试、构建应用程序等。
一旦作业执行完成,Runner 会将执行结果返回给 GitLab 服务器。这个执行结果包括了作业的执行状态、输出日志以及其他相关信息。GitLab 服务器会将这些信息记录下来,并在构建页面中进行展示和分析,以便开发团队查看作业的执行情况和结果。通过这种协作方式,GitLab Runner 实现了作业的自动化执行和管理,为团队提供了高效、可靠的 CI/CD 解决方案。
[2. Runner 类型和特性](#2. Runner 类型和特性)
[2.1 Runner 类型](#2.1 Runner 类型)
在 GitLab Runner 中,有两种常见的类型:Shared Runner 和 Specific Runner。它们各自适用于不同的场景和需求。
Shared Runner 是一种全局性质的 Runner ,它被配置为可供多个项目共享使用。这意味着同一个 Shared Runner 可以被多个项目同时利用。Shared Runner 通常适用于简单的 CI/CD 流程,其中的作业比较标准化,不需要针对特定项目进行定制。通过共享 Runner ,团队可以更好地利用资源,减少重复配置的工作,并且能够更方便地管理和维护 Runner。
相比之下,Specific Runner 则是专门为单个项目配置的 Runner 。每个项目都可以拥有自己的 Specific Runner ,该 Runner 的配置与该项目的需求和特点密切相关。Specific Runner 适用于需要定制化或具有特定要求的 CI/CD 流程的项目。例如,某个项目可能需要在特定环境下运行测试,或者依赖于某些特定的软件包或工具。在这种情况下,为该项目配置一个 Specific Runner 可以确保作业在合适的环境中执行,并且能够满足项目特定的要求。
总的来说,Shared Runner 适用于简单的、标准化的 CI/CD 流程,能够为多个项目提供共享资源;而 Specific Runner 则适用于定制化或具有特定要求的 CI/CD 流程,能够为单个项目提供定制化的执行环境和配置。选择使用哪种类型的 Runner ,取决于项目的需求和团队的实际情况,以确保 CI/CD 流程的顺利运行和高效管理。
[2.2 Runner 特性](#2.2 Runner 特性)
GitLab Runner 的特性丰富多样,通过支持多种执行器、灵活配置 Runner 标签以及提供高级功能如缓存、并发、重试等,为团队提供了一个强大而灵活的 CI/CD 解决方案,帮助团队更高效地构建、测试和部署他们的应用程序。
首先,GitLab Runner 支持多种执行器,包括 Shell 、Docker 、Kubernetes、SSH 等。这意味着你可以根据项目的需求选择合适的执行环境。例如,对于容器化的应用程序,你可以选择 Docker 执行器来在容器中执行作业,而对于需要在 Kubernetes 集群中运行的作业,你可以选择 Kubernetes 执行器。
其次,GitLab Runner 支持配置不同标签的 Runner 。通过为 Runner 分配标签,你可以灵活地将 Runner 分配给不同的作业或项目。这样一来,你可以根据作业的特点和需求,将特定的 Runner 分配给相应的作业,从而实现作业的定制化执行。
另外,GitLab Runner 还支持一系列高级功能,如缓存 、并发 、重试等。
- 缓存功能可以在作业执行过程中缓存依赖项,从而加速后续的作业执行速度。
- 并发功能允许同时执行多个作业,提高了整体的 CI/CD 效率。
- 重试功能可以在作业执行失败时自动进行重试,提高了系统的稳定性和可靠性。
这些功能的结合使用,可以有效地提高 CI/CD 流程的效率和稳定性,使团队能够更快速、更可靠地交付软件。
[3. 安装和配置 GitLab Runner](#3. 安装和配置 GitLab Runner)
你可以遵循以下步骤安装和配置 GitLab Runne。
注:下面的介绍假设你已经安装了 Docker 或桌面版的 Docker Desktop 并且 Docker 正在运行。
[3.1 获取 GitLab Runner Docker 镜像](#3.1 获取 GitLab Runner Docker 镜像)
首先,你需要从 Docker Hub 获取 GitLab Runner 的 Docker 镜像。打开命令提示符或 PowerShell 并运行以下命令:
bash
docker pull gitlab/gitlab-runner:latest
这将下载最新版本的 GitLab Runner Docker 镜像。
[3.2 启动 GitLab Runner 容器](#3.2 启动 GitLab Runner 容器)
接下来,需要创建并启动一个 GitLab Runner 容器。你可以通过以下命令来实现:
bash
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
该命令做了下面几件事情:
-d
使容器在后台运行。--name gitlab-runner
给容器命名为 gitlab-runner。--restart always
确保容器在退出时自动重启。-v /var/run/docker.sock:/var/run/docker.sock
允许 GitLab Runner 容器内部启动新的 Docker 容器,这对于大多数 CI/CD 任务是必需的。-v /srv/gitlab-runner/config:/etc/gitlab-runner
将 GitLab Runner 的配置文件持久化到宿主机的 /srv/gitlab-runner/config 目录。
注意:Windows 用户可能需要调整卷挂载的路径(/srv/gitlab-runner/config 和 /var/run/docker.sock),确保它们在你的系统上有效。
[3.3 注册 GitLab Runner](#3.3 注册 GitLab Runner)
在容器启动后,你需要注册 GitLab Runner 到你的 GitLab 实例。首先,进入到你的 GitLab Runner 容器:
bash
docker exec -it gitlab-runner bash
然后,运行注册命令:
bash
gitlab-runner register
在注册过程中,你将需要提供:
- 你的 GitLab 实例的 URL。
- Runner 的注册令牌,可以在 GitLab 项目的 Settings > CI/CD > Runners 部分找到。
- Runner 的描述和标签。
- 执行器类型,对于 Docker,选择 docker。
- Docker 镜像,例如 ubuntu:latest。
按照提示完成注册过程即可。
[3.4 验证 Runner 是否注册成功](#3.4 验证 Runner 是否注册成功)
注册完成后,你可以在 GitLab 的 Settings > CI/CD > Runners 部分看到你的 Runner。如果 Runner 显示为在线状态,那么你已经成功设置了 GitLab Runner。
[3.5 All Down ^^](#3.5 All Down ^^)
注册完成后,你可以输入 exit
命令退出容器。至此,已经成功在 ocker 上安装并配置了 GitLab Runner 。后续可以开始使用它来执行 CI/CD 任务了。