Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CentOS 7上的GitLab Runner,让你的项目加速奔跑

CentOS 7上的GitLab Runner,让你的项目加速奔跑

作者头像
一只牛博
发布于 2025-05-31 02:15:53
发布于 2025-05-31 02:15:53
29300
代码可运行
举报
运行总次数:0
代码可运行

前言

软件开发的道路上,持续集成持续部署是不可或缺的一环,就像是您的项目的生命力源泉。而GitLab Runner,则是这条流水线上的得力助手,为您的代码提供快速、可靠的构建和部署。今天,就让我们一起来探索如何在CentOS 7上搭建GitLab Runner,释放持续集成的魔力吧!

安装GitLab Runner

安装前提

GitLab Runner 15.0引入了注册 API 请求格式的更改。它阻止 GitLab Runner 与低于 14.8 的 GitLab 版本进行通信。您必须使用适合 GitLab 版本的 Runner 版本,或者升级 GitLab 应用程序。

如果直接使用yum install git会出现git版本为1.8,太老了,不适用

未命名
未命名
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#安装源git
yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
#安装git
yum install git
#更新git
yum update git
1. 下载并安装 GitLab Runner

添加 GitLab Runner 的官方仓库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash

安装 GitLab Runner:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 这里如果很慢可以在本机下载再上传一下,https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/index.html
sudo yum install gitlab-runner
2. 注册到 GitLab 服务器

登录到你的 GitLab 服务器

转到你项目的设置页面。

在左侧导航栏中选择 CI/CD -> Runners 设置。

复制注册 Runner 的 URL 和 Token。

回到你的 Runner 主机上,在终端中执行注册命令,使用提供的 URL 和 Token:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gitlab-runner register --url --token
3.配置runner
  • 执行gitlab-runner register --url --token
  • Enter the GitLab instance URL (for example, https://gitlab.com/):
    • 填写你的gitlab地址,如果也是使用的官网就直接填https://gitlab.com/
  • Enter a name for the runner. This is stored only in the local config.toml file:
    • 在这里,你需要为 GitLab Runner 指定一个名称。这个名称仅会存储在本地的配置文件 config.toml 中,用于识别该 Runner。 你可以根据需要选择一个描述性的名称,以便于识别和管理。例如,你可以使用项目名称、环境名称或者其他有意义的标识作为 Runner 的名称。
  • Enter an executor: instance, shell, ssh, virtualbox, docker, kubernetes, docker-autoscaler, custom, parallels, docker-windows, docker+machine:
    • 在这里,你需要选择一个执行器(executor),用于指定 GitLab Runner 在执行 CI/CD 任务时的运行环境。 以下是常见的执行器选项及其简要说明:
      • shell: 在 Runner 主机上使用 Shell 执行任务。
      • docker: 使用 Docker 容器来运行任务。
      • docker+machine: 使用 Docker Machine 在虚拟机中运行 Docker 容器。
      • docker-windows: 在 Windows 主机上使用 Docker 运行任务。
      • ssh: 通过 SSH 连接到远程主机并执行任务。
      • kubernetes: 在 Kubernetes 集群中运行任务。
      • virtualbox: 在 VirtualBox 虚拟机中运行任务。
      • custom: 自定义执行器,你可以自己编写脚本来定义任务的执行方式。

      根据你的需求和环境选择一个合适的执行器,并输入其名称。

4. 验证 Runner 是否注册成功
  1. 回到 GitLab 服务器的项目设置页面。
  2. 在 CI/CD -> Runners 部分,你应该能够看到刚刚注册的 Runner。
  3. 确保 Runner 的状态为“活跃”。
image-20240509112422693
image-20240509112422693
5. 测试 Runner 是否正常工作
  1. 在你的项目中创建一个简单的 CI/CD 配置文件(如 .gitlab-ci.yml)。
  2. 将配置文件提交到你的项目中。
  3. 在 GitLab 服务器的项目页面上触发一个 Pipeline,观察任务是否由 Runner 正常执行。

通过以上步骤,你应该能够成功在 CentOS 7 上搭建和注册 GitLab Runner,并确保它能够正常工作。如果遇到任何问题,请查阅官方文档或在社区寻求帮助。

配置Runner执行器

在配置Runner执行器时,需要指定执行器的类型和相关参数,以确保任务能够按照预期顺利执行。以下是配置Runner执行器的一般步骤:

  1. 选择执行器类型:根据实际需求选择适合的执行器类型,常见的包括:
    • shell:在本地或远程服务器上执行脚本命令。
    • docker:在Docker容器中执行任务,可用于构建和运行应用程序。
    • kubernetes:在Kubernetes集群中执行任务,适用于复杂的容器化环境。
    • virtualbox:在虚拟机中执行任务,可用于本地开发和测试。
    • ssh:通过SSH协议连接到远程主机并执行任务。
    • custom:自定义执行器,根据需要编写自己的执行器逻辑。
  2. 设置执行器参数:根据选定的执行器类型,设置相关参数,如并发度、超时时间等。
    • 并发度:指定Runner同时执行的任务数量,可以根据服务器性能和任务负载进行调整。
    • 超时时间:设置任务执行的最大时间,超过该时间将视为超时并中止任务。
  3. 配置Runner:编辑.gitlab-ci.yml文件,添加或修改相应的配置项,指定执行器类型和参数。

示例配置文件如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stages:
  - build
  - test

build_job:
  stage: build
  script:
    - npm install
    - npm run build
  tags:
    - docker
  variables:
    DOCKER_DRIVER: overlay2
  artifacts:
    paths:
      - public/

test_job:
  stage: test
  script:
    - npm test
  tags:
    - docker
  variables:
    DOCKER_DRIVER: overlay2
  allow_failure: true

在上面的示例中,我们使用了Docker执行器,并设置了相关参数,如标签(tags)、Docker驱动器(DOCKER_DRIVER)等。这样配置的Runner将会在Docker容器中执行构建和测试任务。

根据实际情况,可以根据需要添加其他执行器类型和参数,以满足项目的具体要求。

高级配置

在配置Runner执行器的高级配置和扩展时,可以进一步优化CI/CD流程,并集成各种第三方工具和服务,以满足更复杂的需求。以下是一些高级配置和扩展的示例:

  1. 缓存和共享卷
    • 缓存:通过设置缓存,可以在不同作业之间共享和重用依赖项,加快构建速度。可以缓存编译依赖项、依赖库、下载的软件包等。
    • 共享卷:共享卷允许在不同作业之间共享文件或目录,便于数据传递和共享。可以将构建产生的文件、测试报告等存储到共享卷中,并在后续作业中使用。
  2. 集成第三方工具和服务
    • Docker:可以使用Docker容器作为执行器,实现环境隔离和一致性。还可以利用Docker镜像来构建、测试和部署应用程序。
    • AWS、Azure等云服务:可以利用云服务提供的资源来执行CI/CD作业,例如在AWS上运行测试套件、部署到Azure容器实例等。
    • 第三方CI/CD工具:如Jenkins、Travis CI等,可以与GitLab Runner集成,实现更复杂的CI/CD流程。
  3. 定制特定环境下的作业
    • JavaPython、Node.js等:针对不同的编程语言和框架,可以定制特定的CI/CD作业,包括编译、测试、打包、部署等。
    • 安全检查和代码分析:集成静态代码分析工具、安全漏洞扫描工具等,对代码进行质量检查和安全扫描。

示例配置文件如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stages:
  - build
  - test

build_job:
  stage: build
  script:
    - npm install
    - npm run build
  cache:
    paths:
      - node_modules/
  artifacts:
    paths:
      - dist/

test_job:
  stage: test
  script:
    - npm test
  cache:
    key: "$CI_COMMIT_REF_NAME"
    paths:
      - node_modules/
  artifacts:
    paths:
      - test_reports/
  dependencies:
    - build_job

在上面的示例中,我们配置了缓存(cache)和共享卷(artifacts),以及与其他作业的依赖关系(dependencies)。这样可以加速构建过程,同时实现测试报告等数据的共享和传递。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于gitlab gitlab-runner的cicd部署
在本文中,我将介绍如何基于 GitLab 和 GitLab Runner 进行 CI/CD 部署。GitLab 是一个强大的 Git 仓库管理系统,提供了完整的 CI/CD 管理功能。GitLab Runner 是一个用于运行 CI/CD 作业的轻量级容器化工具。我们将使用 Docker 容器来运行 GitLab 和 GitLab Runner。
堕落飞鸟
2023/03/27
1.7K0
依托于GitLab持续集成基础配置和使用
[TOC] 0x00 前言简述 Q:我们常说的CI/CD是什么? CI 为 Continuous Integration 的缩写持续集成,可以理解为代码变动提交后,自动执行代码编译、代码打包、代码测试
全栈工程师修炼指南
2020/10/23
2.3K0
依托于GitLab持续集成基础配置和使用
使用 GitLab Runner
理解了上面的基本概念之后,有没有觉得少了些什么东西 —— 由谁来执行这些构建任务呢? 答案就是 GitLab Runner 了!
用户8851537
2021/08/04
3K0
GitLab Runner介绍及安装
GitLab Runner是一个开源项目,用于运行您的作业并将结果发送回GitLab。它与GitLab CI一起使用,GitLab CI是GitLab随附的开源持续集成服务,用于协调作业。
没有故事的陈师傅
2021/03/19
7.4K0
通过 Gitlab CI 完成前端自动化构建
​ GitLab-Runner 是配合 GitLab-CI 进行使用的。一般地,GitLab里面的每一个工程都会定义一个属于这个工程的软件集成脚本,用来自动化地完成一些软件集成工作。当这个工程的仓库代码发生变动时,比如有人 push 了代码,GitLab 就会将这个变动通知 GitLab-CI。这时 GitLab-CI 会找出与这个工程相关联的Runner,并通知这些Runner把代码更新到本地并执行预定义好的执行脚本。
奋飛
2021/08/30
1.3K0
通过 Gitlab CI 完成前端自动化构建
1.基于GitLab代码仓库的持续集成基础配置和使用
[TOC] 0x00 前言简述 CI/CD介绍 Q:我们常说的CI/CD是什么? CI 为 Continuous Integration 的缩写持续集成,可以理解为代码变动提交后,自动执行代码编译、代
全栈工程师修炼指南
2022/09/29
4K0
1.基于GitLab代码仓库的持续集成基础配置和使用
gitlab ci/cd 多项目流水线制品合并方案
首先需要在linux上安装 gitlab-runner 然后注册一个shell作为执行器的runner 该runner将应用于需要构建的项目
拿我格子衫来
2022/01/24
9670
gitlab ci/cd 多项目流水线制品合并方案
Docker安装Gitlab和Gitlab-Runner并实现项目的CICD
介绍如何在Linux系统使用Docker安装Gitlab、Gitlab-Runner并实现项目的CICD
薛定喵君
2019/11/05
3K0
Gitlab CI 搭建持续集成环境
在软件工程里,持续集成(Continuous Integration, CI)是指这样的一种实践:在一天里多次将所有开发人员的代码合并到一个共享的主干里,每次合并都会触发持续集成服务器进行自动构建,这个过程包括了编译、单元测试、集成测试、质量分析等步骤,结果只有两个:成功或者失败。如果得到失败的结果,说明有人提交了不合格的代码,这就能及时发现问题。
YP小站
2020/06/04
2.9K0
Gitlab CI 搭建持续集成环境
GitLab平台太单调? 配置Pipeline流水线,装上这个流水线“瀑布灯”!
在上一篇文章中,我们介绍了如何使用Docker搭建自己的GitLab代码托管平台。
Mintimate
2023/10/01
3.5K0
GitLab平台太单调? 配置Pipeline流水线,装上这个流水线“瀑布灯”!
Kubernetes 集群中运行 GitLab-Runner 来执行 GitLab-CI
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aixiaoyang168/article/details/81149264
哎_小羊
2019/05/25
3.4K0
打造企业级自动化运维平台系列(十):Gitlab Runner 实现 CI/CD 详解
Gitlab实现CICD的方式有很多,比如通过Jenkins,通过Gitlab Runner等,今天主要介绍后者。Gitlab在安装的时候,就默认包含了Gitlab CI的能力,但是该能力只是用于协调作业,并不能真的去执行作业,因此需要搭配Gitlab Runner来作为执行器实现具体的CICD工作。Gitlab Runner可以被安装在任意支持的系统上,比如Linux、Windows、Mac,甚至也可以运行在Docker、Kubernetes集群上。更多关于构建企业自动化运维平台系列的
民工哥
2024/01/18
8400
打造企业级自动化运维平台系列(十):Gitlab Runner 实现 CI/CD 详解
从入门到精通:.gitlab-ci.yml文件的完整指南
在现代软件开发中,持续集成和持续部署已经成为项目成功的关键因素之一。而.gitlab-ci.yml文件,则是这一过程中不可或缺的一部分,它像是一个魔法书,为你的代码赋予了生命力。今天,就让我们一起来揭开.gitlab-ci.yml文件的神秘面纱,探索其中的奇妙世界吧!
一只牛博
2025/05/30
6310
从入门到精通:.gitlab-ci.yml文件的完整指南
Docker搭建自己的Gitlab CI Runner
哎_小羊
2018/01/02
15.3K0
Docker搭建自己的Gitlab CI Runner
gitlab-CI 持续集成以及runner的配置简版
在我们完成项目开发后,提交到git,当监听提交后,自动进行编译,并进行项目的部署,是不是一想就很爽,所以下面引入我们的主角 —— gitlab-CI,中文文档 。
神葳
2021/01/22
2.4K0
gitlab-CI 持续集成以及runner的配置简版
I-team博客的gitlab-runner持续集成实践
做为一个略微看过nodejs语法,但又不懂nodejs的攻城狮,搭建hexo环境很是麻烦,要考虑到翻墙、版本兼容等问题。于是乎,博主每换一个电脑,为了能继续发博客,都需要在新电脑上花一天时间重新搞一下 hexo 环境,楼主感觉还是有简洁的方案来实现我一提交代码就可以自动发布博客,不需要再手动操作一波,这样岂不美哉。so,也就有了今天的经历,代码可以持续集成,博客也可以。楼主的解决方案是使用gitlab与gitlab-runner实现博客部署的持续集成,效果真的不要太好。
haifeiWu
2018/09/11
1.2K0
I-team博客的gitlab-runner持续集成实践
图文详解k8s自动化持续集成之GitLab CI/CD
  如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
sunsky
2020/08/20
5.1K0
图文详解k8s自动化持续集成之GitLab CI/CD
Ubuntu上如何使用GitLab CI搭建持续集成Pipeline
GitLab Community Edition是一个自托管的Git存储库提供程序,具有帮助项目管理和软件开发的附加功能。GitLab提供的最有价值的功能之一是内置的持续集成和交付工具GitLab CI。
爆栈工程师
2018/08/13
4.4K0
Ubuntu上如何使用GitLab CI搭建持续集成Pipeline
Ubuntu18注册gitlab-runner并激活CI/CD
打开 gitlab 项目 -> 设置 -> CI / CD -> Runners 设置,获取令牌
用户8851537
2021/08/04
1.2K0
【GitLab CI/CD 实践】从 0 到 1 搭建高效自动化部署流程
GitLab CI/CD 是 GitLab 内置的持续集成和持续部署(CI/CD)工具,它可以帮助开发团队自动化代码测试、构建和部署。本指南将介绍如何使用 GitLab CI/CD 搭建完整的自动化部署流程,包括 .gitlab-ci.yml 配置文件的编写、Stages、Jobs、Artifacts 以及 Runner 的使用。
Swift社区
2025/02/07
1.2K0
【GitLab CI/CD 实践】从 0 到 1 搭建高效自动化部署流程
推荐阅读
相关推荐
基于gitlab gitlab-runner的cicd部署
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验