gitlab-runner 部署与踩坑

前言

去年花时间研究了一下 CI/CD , 自己部署了一套 gitlab-runner 玩了一下,部署过程之后遇到了不少问题,把之前的踩坑与部署记录分享一下。

简介

gitlab-runner是一个开源项目,用于运行 Pipeline 作业并将结果发送回 GitLab。

它与 GitLab CI 一起使用,GitLab CI是GitLab随附的开源持续集成服务,用于协调作业。

gitlab-runner是用 Go 编写,可以作为单个二进制文件运行,不需要语言特定的要求。

官方安装文档

gitlab-runner 安装官方文档:docs.gitlab.com/runner/inst...

gitlab-runner的三种类型:

  • 共享Runner(Shared Runner),所有项目可以使用。
  • 群组Runner(Group Runner),特定群组里的所有项目和子群组。
  • 特定Runner(Specific Runner),用于独立的项目。

gitlab-runner两种状态:

  • locked:无法运行项目作业

  • paused:不会运行作业

一、安装需知

  • gitlab runner 与 gitlab 版本尽量一致,差距过大部署会报错
  • 安装 gitlab-runner 依赖 git, 需要先安装 git
  • linux自带的git是1.8版本, 使用 runner 拉代码时会报错,升级至且大于 2.x 版本

本文版本说明

  • Git: 2.36.1
  • Gitlab: 14.7
  • GitlabRunner:15.3.0

二、下载与安装

1. 下载对应版本的 gitlab-runner 包

使用清华源下载 x86_64 架构安装包 ,官方地址可能没有 x86_64 架构安装包

shell 复制代码
sudo curl -L --output /usr/local/bin/gitlab-runner-15.3.0-1.x86_64.rpm https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7/gitlab-runner-15.3.0-1.x86_64.rpm"

2. 安装下载后的 rpm 包

shell 复制代码
rpm -ivh gitlab-runner-15.3.0-1.x86_64.rpm

三、安装与启动

1. 查看当前服务运行情况

shell 复制代码
gitlab-runner status
  • 如下图所示,返回 Service is running 则表示服务正在运行中
  • 如显示: the service is not installedService is stop 运行启动命令后在查看

有时候,虽然显示为 the service is not installed 但实际已经完成安装,并能正常执行运行命令

2. 启动 gitlab-runner 服务

shell 复制代码
gitlab-runner start
  • 成功启动如下图所示
  • 如提示 the service is not installed 则执行一下安装命令
shell 复制代码
gitlab-runner install --working-directory /home/gitlab-runner --user root

3. 查看服务运行状态

该命令和 gitlab-runner status 的区别是,可以更直观的看到运行状态

shell 复制代码
systemctl status gitlab-runner

成功运行如下图所示:

如显示下图中的错误,请检查指定的 working-directory 目录是否存在,不存在则手动创建一个

相关 issue:gitlab.com/gitlab-org/...

相关推荐
Arva .2 小时前
面试题02
后端
Bellafu6663 小时前
selenium 常用xpath写法
前端·selenium·测试工具
blackorbird5 小时前
Edge 浏览器 IE 模式成攻击突破口:黑客借仿冒网站诱导攻击
前端·edge
uzong6 小时前
一次慢接口背后,竟藏着40+种可能!你中过几个
后端·面试·程序员
G探险者6 小时前
滴滴P0级故障背后:互联网公司是如何分级处理线上事故的?
后端
谷歌开发者6 小时前
Web 开发指向标 | Chrome 开发者工具学习资源 (一)
前端·chrome·学习
名字越长技术越强6 小时前
Chrome和IE获取本机ip地址
前端
天***88966 小时前
Chrome 安装失败且提示“无可用的更新” 或 “与服务器的连接意外终止”,Chrome 离线版下载安装教程
前端·chrome
半梦半醒*6 小时前
zabbix安装
linux·运维·前端·网络·zabbix
G探险者7 小时前
从 Tomcat 与 Jetty 的对比,聊聊影响一个服务并发能力的关键因素
后端