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

Gitlab-Runner配置

原理

Gitlab-Runner是一个非常强大的CI/CD工具。它可以帮助我们自动化执行各种任务,如构建、测试和部署等。Gitlab-Runner和Gitlab通过API通信,接收作业并提交到执行队列,Gitlab-Runner从队列中获取作业,并允许在不同环境下进行作业。

安装和注册

  1. 安装:
yum install gitlab-runner
  1. 注册:

首先获取gitlab的token,以供gitlab-runner注册时使用,Gitlab runner 分 3 类,注册在不同位置runner权限也不同:

    1. Share Runner(推荐使用):所有 group 的所有 project 都能使用;
    1. Group Runner: 该 Group 内的所有 Project 都可以使用;
    1. Specific Runner:一个 Project 独享的 Runner,其他项目默认不能使用;

token位置gitlab → group/project → settings → cicd → runners
在这里插入图片描述

注册runner,根据提示依次配置以下参数

gitlab-runner register Please enter the gitlab-ci coordinator URL (e.g. <https://gitlab.com/>): 
https\://****** Please enter the gitlab-ci token for this runner: 
VyaV8t******  Please enter the gitlab-ci description for this runner: 
test runner Please enter the gitlab-ci tags for this runner (comma separated): 
test Whether to run untagged builds \[true/false]: \[false]: 
true Whether to lock the Runner to current project \[true/false]: \[true]: 
true Registering runner... succeeded runner=qtWs5Db6 Please enter the executor: shell, ssh, docker+machine, docker, docker-ssh, parallels, virtualbox, docker-ssh+machine, docker: 
shell Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 
  • 第一个参数输入gitlab-url
  • 第二个参数输入token
  • 第三个参数输入描述
  • 第四个参数输入标签tag
  • 第五个参数选择执行的命令之类的,可以根据自身需求选择。

*executor执行器

在注册runner的最后一步提示了选择所需的执行器,不同执行器对ci的影响很大,简单介绍一下runner的执行器

执行器作业运行说明
shell默认执行器意味着所有job都在runner上运行
dockerdocker容器job将在docker容器运行
docker-windowsWindows Docker 容器
docker-sshDocker 容器,使用 SSH 连接
ssh远程SSH
parallelsParallels VM,使用 SSH 连接一种虚机
virtualboxVirtualBox VM,但使用 SSH 连接一种虚机
docker+machine类似docker,但使用自动缩放的 Docker 机器
docker-ssh+machine类似docker-ssh,但使用自动缩放的 Docker 机器
kubernetesKubernetes pods

.gitlab-ci.yml配置

举个简单的例子,主要为了展示.gitlab-ci.yml如何让gitlab与runner联动

# This file is a template, and might need editing before it works on your project. stages: - hello - build sayhello: tags: - test stage: hello script: - echo hello world compile: tags: - test stage: build script: - bash build.sh

以上配置文件设置了hello和build两个步骤,tags指定用哪个runner运行ci。git接收到代码push,根据ci规则建立Pipelines向runner发起job,runner接收job开始根据设置的步骤依此执行。

在这里插入图片描述

第一步输出 hello world
在这里插入图片描述

第二步执行项目中的build.sh脚本
在这里插入图片描述

http://www.lryc.cn/news/518672.html

相关文章:

  • 代码随想录 哈希 test 8
  • [SAP ABAP] 使用LOOP AT...ASSIGNING FIELD-SYMBOL 直接更新内表数据
  • MySQL数据导出导入
  • leetcode 127. 单词接龙
  • 如何开发一个支持海量分布式锁的应用库
  • JavaScript系列(17)--类型系统模拟
  • openssl编译
  • 校园网络综合布线系统设计与实践
  • 如果商品信息更新,爬虫会失效吗?
  • 【UE5 C++课程系列笔记】27——多线程基础——ControlFlow插件的基本使用
  • 有收到腾讯委托律师事务所向AppStore投诉带有【水印相机】主标题名称App的开发者吗
  • 标定 3
  • 用 C# 绘制谢尔宾斯基垫片
  • java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
  • 双因素身份验证技术在NPI区域邮件安全管控上的解决思路
  • java后端对接飞书登陆
  • 记录一次Android Studio的下载、安装、配置
  • 直流无刷电机控制(FOC):电流模式
  • 73.矩阵置零 python
  • 垃圾收集算法
  • SQL-leetcode-262. 行程和用户
  • 太原理工大学软件设计与体系结构 --javaEE
  • Leetcode 139. 单词拆分 动态规划
  • python异常机制
  • 运行爬虫时可能遇到哪些常见问题?
  • BGP与CN2的区别 详解两者在网络传输中的应用与优势
  • Spring 项目 基于 Tomcat容器进行部署
  • “负载均衡”出站的功能、原理与场景案例
  • 02-51单片机数码管与矩阵键盘
  • 不同方式获取音频时长 - python 实现