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/...

相关推荐
速盾cdn20 分钟前
速盾:网页游戏部署高防服务器有什么优势?
服务器·前端·web安全
小白求学122 分钟前
CSS浮动
前端·css·css3
什么鬼昵称23 分钟前
Pikachu-csrf-CSRF(POST)
前端·csrf
golitter.40 分钟前
Vue组件库Element-ui
前端·vue.js·ui
golitter.1 小时前
Ajax和axios简单用法
前端·ajax·okhttp
雷特IT1 小时前
Uncaught TypeError: 0 is not a function的解决方法
前端·javascript
九圣残炎2 小时前
【springboot】简易模块化开发项目整合Redis
spring boot·redis·后端
长路 ㅤ   2 小时前
vite学习教程02、vite+vue2配置环境变量
前端·vite·环境变量·跨环境配置
亚里士多没有德7752 小时前
强制删除了windows自带的edge浏览器,重装不了怎么办【已解决】
前端·edge
micro2010142 小时前
Microsoft Edge 离线安装包制作或获取方法和下载地址分享
前端·edge