Runner

  • Gitlab与Runner架构
  • 云服务器上安装Runner
  • Docker 安装Runner
    • 直接起容器
    • 进入容器添加认证
    • 在之前gitlab创建的edu-java项目中配置gitlab-ci
    • 配置user的权限
    • 测试验证
  • 关于Gitlab Runners界面访问新添加的runner时报错

Gitlab与Runner架构

理论上gitlab 与Runner不安装在同一台服务器上,我这里自己做测试就在同一台机器装了
另外需要注意的点,runner一般在docker上跑,或者K8S上跑,隔离性还好

云服务器上安装Runner

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash  #下载网络源
yum list gitlab-runner --showduplicates |sort -r  #查看runner包版本,尽量于gitlab一致
yum list all | grep gitlab  #发现我gitlab版本低了
yum update gitlab-ce.x86_64  #对gitlab进行升级,这步要慎重,我的两核4G服务器更新的时候,内存,CPU爆满,没开swap,不过最后还是跑起来了
yum install -y gitlab-runner-14.5.0-1 #安装指定版本runner


Docker 安装Runner

直接起容器

sudo docker run -d --name gitlab-runner --restart always \-v /srv/gitlab-runner/config:/etc/gitlab-runner \-v /var/run/docker.sock:/var/run/docker.sock \gitlab/gitlab-runner:latest

进入容器添加认证

docker exec -it gitlab-runner /bin/bash

根据你的gitlab的CI/CD里的认证,更改下面的url 和registration-token,

gitlab-runner register \--non-interactive \--url "http://10.100.129.113:8090" \--registration-token "S1Erstg39-nh1xQVMtBN" \--executor "docker" \--docker-image maven:latest \--description "160runner " \--tag-list "160" \--run-untagged \--locked="false"
重要参数说明:url和token参考上图,在runner需要对接的gitlab中获得;executor是runner中pipeline以什么方式运行,这里选择的是docker方式,其实还支持shell等其它方式。docker-image是runner中pipelne以哪个image为基础来执行executor。tag-list是runner的tag,在gitlab的project中关于ci的配置文件中会引用得到。
Runner注册成功后就会在gitlab的CI/CD页面看到下图中的红框内容:

如果出现灰色的runner说明runner虽然注册上来但是不可用,当gitlab与runner安装在同一台机器时就会出现这种情况,所以请尽量分开

在之前gitlab创建的edu-java项目中配置gitlab-ci

在项目根目录下添加.gitlab-ci.yml文件,gitlab-ci很强大,本质就是以yml的格式定义了一个pipeline,与jenkins存在功能重叠的部分,自己改的有问题,直接引用官方的。

.gitlab-ci.yml内容如下:

image: busybox:latestbefore_script:- echo "Before script section"- echo "For example you might run an update here or install a build dependency"- echo "Or perhaps you might print out some debugging details"after_script:- echo "After script section"- echo "For example you might do some cleanup here"build1:stage: buildscript:- echo "Do your build here"test1:stage: testscript:- echo "Do a test here"- echo "For example run a test suite"test2:stage: testscript:- echo "Do another parallel test here"- echo "For example run a lint test"deploy1:stage: deployscript:- echo "Do your deploy here"

因为我项目克隆在了opt下所以在这个项目里创建.gitlab-ci.yml

配置user的权限

在项目的设定中的Repository Settings 中的保护分支:Protected branches
限制只有maintainers才可以push和merge项目的dev版本

测试验证

git clone git@github.com:yejingtao/runproject.git
cd /opt  #进入到gitlab项目的家目录下
cp -r  runproject/ edu-java/   #递归复制到edu-java项目下
cd /opt/edu-java/runproject    #进入大佬的项目
vim .gitlab-ci.yml   #根据上面写的修改成自己的
cp  .gitlab-ci.yml  /opt/edu-java #复制大佬的CI文件到自己的项目里
cd /opt/edu-java  #准备push到自己的gitlab上
git add .   # 添加当前目录下的所有文件和子目录加入到Git的索引中
git config --global user.email "alvin@qq.com"
git config --global user.name "dev01"
git commit -m "first commit"
git push  #推送到gitlab的 edu-java项目

终端上提交或者在web界面更改 .gitlab-ci.yml都可以
在项目里就可以看到跑成功了


关于Gitlab Runners界面访问新添加的runner时报错

报错信息

fatal: unable to access 'http://vm-0-5-centos/edu-java/edu-java.git': Could not resolve host: vm-0-5-centos

当点击以上界面,网页会重定向到http://hostname/admin/runners/2
这个是无法识别的,你的runner运行job也会报错

需要你在Gitlab server更改配置文件

vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
  gitlab:## Web server settings (note: host is the FQDN, do not include http://)#    host: VM-0-5-centos   #之前是主机名,所以会自动跳转到http://VM-0-5-centos/admin/runners/2host: 你的IP或者域名port: 80https: false
gitlab-ctl restart   #重启就可以正常访问了,job也能正常运行了

转载于:https://blog.csdn.net/yejingtao703/article/details/83065591

Gitlab Runner相关推荐

  1. GitLab 简易指引(二):GitLab Runner 安装与配置

    本文为[原创]文章,转载请标明出处. 原文链接:https://weyunx.com/2019/01/23... 原文出自微云的技术博客 准备工作 下载安装包 # Linux x86-64 sudo ...

  2. gitlab 安装gitlabrunner 无法连接tiller_谈一谈GitLab Runner是个什么东东?

    概念 我从官网搜了一下,GitLab Runner 是一个开源项目, 它用来运行你定制的任务(jobs)并把结果返回给 GitLab. GitLab Runner 配合GitLab CI(GitLab ...

  3. 超详细Gitlab Runner环境配置中文教程

    配置GitlabRunner环境 GitLab Runner 是一个开源项目, 它用来运行你定制的任务(jobs)并把结果返回给 GitLab. GitLab Runner 配合GitLab CI(G ...

  4. centos安装Gitlab Runner

    为什么80%的码农都做不了架构师?>>>    参考网站:https://docs.gitlab.com/runner/install/linux-repository.html h ...

  5. gitlab runner 使用案例

    原文:gitlab runner 使用案例 接上文GitLab-Runner 从安装到配置以一个使用案例说明docker runner的使用 1. 配置文件的大概说明 因为gitlab使用的docke ...

  6. gitlab runner理解(未完)

    gitlab runner runner: 本身可以使用多种方式安装,比如使用Docker镜像启动. 具体指的是runner运行在哪里 shell runner: docker runner k8s ...

  7. gitlab runner实现自动化部署

    前言 GitLab Runner是一个开源的项目,是用来执行GitLab中的项目的根目录下创建的.gitlab-ci.yml 脚本的工具.GitLab-CI可以比喻成管理工人的工厂,Runner是工厂 ...

  8. 在centos中注册gitlab runner

    注册runner 有几种不同的方式,这里介绍的是在centos7中使用 rpm包来安装 按照gitlab runner的官网链接里面的介绍: gitlab runner 链接 下载 官网描述: ## ...

  9. Gitlab Runner 部署

    Gitlab Runner 部署 文章目录 Gitlab Runner 部署 1. 本地安装gitlab-runner 2. 项目通过本地命令注册runner 3. docker安装gitlab-ru ...

  10. 从服务器基础环境配置到搭建Docker+Gitlab+Gitlab Runner,完整介绍Spring Boot项目的持续集成与持续交付具体实现!

    1. 序言 在大学的课程学习,非常注重团队协作的培养,在企业开发中,团队协作开发项目的场景更是甚多.另外,在当下的热门技术栈中,微服务开发模式.前后端分离开发模式逐渐盛行,Spring Boot.VU ...

最新文章

  1. 打开Excel文件并插入图片
  2. java - 判断 字符串是否为空
  3. 答“我们的团队项目是否有大泥球?”
  4. 自己有電腦的一定要看看,非常有用呢。
  5. 通过adb巧用monkey获取android设备中所有应用的主activity
  6. Java网络编程之NIO编程(待补充)
  7. zynq中纯Programmable Loigc编程
  8. 基因工程-5-目的基因导入受体细胞的方法
  9. 将多个Excel工作簿合并到一个Excel工作簿中
  10. win7文件和文件夹可以重名吗_怎么取消WIN7复制同名文件自动重命名
  11. java项目账户充值提现_资金充值提现明细
  12. 基于变量推理的知识图路径推理分析
  13. 文件名太长无法删除怎么办
  14. 如何用 Ps 制作毛玻璃穿透效果?
  15. 理解 alter table nologging
  16. 神经网络-人脸表情识别
  17. GuessingGame
  18. oracle crs 4563,重启机器后,节点2无法启动crs,Oracle你生产的RAC为何如此的脆弱,有图有真相。求解...
  19. matlab如何表示三峰正态分布,正态分布及常用分布的matlab编程实现
  20. 《初级会计实务》考试学习分享之第八章 ——政府会计基础【考试大纲】

热门文章

  1. 大数据工程师入职京东年薪37w(附:面试真题分享)
  2. 2022 CCF形式化方法工业应用前沿分论坛暨中科国创高可信联合上海控安新品发布会顺利召开!...
  3. 电脑英语Computer English
  4. C++ 不知算法系列之聊聊希尔、归并排序算法中的分治哲学
  5. java.io.ioexception 设备未就绪_AxisFault faultString: java.io.IOException: 设备未就绪。
  6. 基于steam的游戏销量预测 — PART 2 — 文本分析
  7. 程序员分享:最近面试 Java 后端开发的感受
  8. 骁龙778g4g和5g区别
  9. 使用EasyExcel导出图片及异常处理
  10. python中return0与return1_return 0 和return 1的区别