当前位置: 首页 > news >正文

如何在 Debian 上安装运行极狐GitLab Runner?【一】

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitLab,详情可以参考极狐GitLab 下载安装官网。

GitLab 中文版学习资料

  • 驭码CodeRider 官网:https://coderider.gitlab.cn/
  • GitLab 中文版官网:https://gitlab.cn
  • GitLab 中文文档:https://docs.gitlab.cn
  • GitLab 中文下载安装:https://gitlab.cn/install

前言


极狐GitLab 是一个一体化的 DevOps 平台,CI/CD 是内置的功能,这也就是常说的极狐GitLab CI 要做的工作。而实现极狐GitLab CI 的核心组件是极狐GitLab Runner —— 一个轻量级、高扩展的代理,用来运行你的 CI/CD 作业并且将结果发送回极狐GitLab 实例。极狐GitLab Runner 和极狐GitLab CI/CD 绑定在一起。
极狐GitLab Runner 支持多种操作系统:
  • CentOS
  • Debian
  • Ubuntu
  • RHEL
  • Fedora
  • Mint
  • Oracle
  • Amazon

也支持多种 CPU 架构:

  • x86
  • AMD64
  • ARM64
  • ARM
  • s390x
  • ppc64le

而且也支持多种安装方式:源码、软件包、二进制文件以及容器安装

本文演示在 Debian 12 上安装配置极狐GitLab 的两种方式:二进制安装 & 容器化安装。

软件包安装

下载安装包并安装

使用如下命令下载 Runner 安装包并查看:

$ curl -LJO "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_${arch}.deb"$ ls -ltr
-rw-r--r-- 1 root root 491857186 Mar 26 11:35 gitlab-runner_amd64.deb

执行如下命令即可完成安装:

$ dpkg -i gitlab-runner_amd64.debSelecting previously unselected package gitlab-runner.
(Reading database ... 64318 files and directories currently installed.)
Preparing to unpack gitlab-runner_amd64.deb ...
Unpacking gitlab-runner (16.10.0-1) ...
Setting up gitlab-runner (16.10.0-1) ...
GitLab Runner: creating gitlab-runner...
Home directory skeleton not used
Runtime platform                                    arch=amd64 os=linux pid=226784 revision=81ab07f6 version=16.10.0
gitlab-runner: the service is not installed
Runtime platform                                    arch=amd64 os=linux pid=226796 revision=81ab07f6 version=16.10.0
gitlab-ci-multi-runner: the service is not installed
Runtime platform                                    arch=amd64 os=linux pid=226830 revision=81ab07f6 version=16.10.0
Runtime platform                                    arch=amd64 os=linux pid=226876 revision=81ab07f6 version=16.10.0Check and remove all unused containers (both dangling and unreferenced) including volumes.
------------------------------------------------------------------------------------------
Total reclaimed space: 0B

通过 --version查看安装是否成功:

$ gitlab-runner --version
Version:      16.10.0
Git revision: 81ab07f6
Git branch:   16-10-stable
GO version:   go1.21.7
Built:        2024-03-21T19:43:25+0000
OS/Arch:      linux/amd64

注册 Runner

在极狐GitLab 上选定项目,在设置 --> CI/CD --> --> Runner中在项目 Runner 中选择新建项目 Runner:

在这里插入图片描述

点击新建项目 Runner,填写所需的信息,然后点击创建 runner

在这里插入图片描述

在出现的界面中会给出 Runner 注册的命令(同时也会包含 Runner 注册的 token,此 token 需要好好保存):

在这里插入图片描述

copy 上面的命令注册 Runner:

$ gitlab-runner register  --url https://jihulab.com  --token glrt-SYhzxxxxx5KDhZUEnter the GitLab instance URL (for example, https://gitlab.com/):
[https://jihulab.com]: https://jihulab.com
Verifying runner... is valid                        runner=SYhzyjbEb
Enter a name for the runner. This is stored only in the local config.toml file:
[VM-20-9-debian]: debian-runner
Enter an executor: parallels, docker-autoscaler, docker+machine, kubernetes, custom, shell, ssh, virtualbox, docker, docker-windows, instance:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"

输入必要的信息即可完成 Runner 注册。

参数说明:

  • –url:极狐GitLab 实例的地址,可以是私有化部署实例的地址,也可以是 SaaS 地址(https://jihulab.com)

  • –token:runner 的注册 token。

这时候就可以在项目 --> 设置 --> CI/CD --Runner 页面看到注册成功的 Runner 了:

测试 Runner

选择一个需要构建 CI/CD 的极狐GitLab 项目,创建一个 .gitlab-ci.yml文件,选择一个内置的 bash模版:

在这里插入图片描述

在 stage中用 tags使用刚注册成功 Runner:

tags:- debian

提交变更即可触发 CI/CD 流水线:

在这里插入图片描述

可以看到流水线构建成功,查看作业的构建日志:

在这里插入图片描述

从日志可以看出作业就是刚才注册成功的 Runner 上执行的,因为注册时候给 Runner 取名为 debian-runner

下一篇文章介绍用 docker 来安装 Runner。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Hadoop入门:构建你的第一个大数据处理平台
  • Spring Boot 使用多线程完成 统计当日用户所属区域
  • 选电脑——电脑配置
  • ViP-LLaVA: Making Large Multimodal Models Understand Arbitrary Visual Prompts
  • 江协科技51单片机学习- p31 LCD1602液晶屏驱动
  • Java二十三种设计模式-组合模式(11/23)
  • 揭秘LoRA:利用深度学习原理在Stable Diffusion中打造完美图像生成的秘密武器
  • c++ | vector
  • 【多线程-从零开始-肆】线程安全、加锁和死锁
  • 线程 【Linux】
  • vue3+axios请求导出excel文件
  • 【优秀python大屏】基于python flask的广州历史天气数据应用与可视化大屏
  • Jboss 漏洞合集
  • uniapp结合uview-ui创建项目关键步骤一步一图教程
  • 记忆化搜索——1
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 2017届校招提前批面试回顾
  • C语言笔记(第一章:C语言编程)
  • egg(89)--egg之redis的发布和订阅
  • ERLANG 网工修炼笔记 ---- UDP
  • Java的Interrupt与线程中断
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • python docx文档转html页面
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • spring boot下thymeleaf全局静态变量配置
  • 初识 beanstalkd
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 动态规划入门(以爬楼梯为例)
  • 使用common-codec进行md5加密
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • puppet连载22:define用法
  • ​2020 年大前端技术趋势解读
  • ​决定德拉瓦州地区版图的关键历史事件
  • #Java第九次作业--输入输出流和文件操作
  • (1) caustics\
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (二)换源+apt-get基础配置+搜狗拼音
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (七)Knockout 创建自定义绑定
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .Family_物联网
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .NET学习教程二——.net基础定义+VS常用设置
  • [AI Google] Ask Photos: 使用Gemini搜索照片的新方法
  • [BJDCTF2020]The mystery of ip1