Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >同一个 gitlab-ci 文件能使用多个 runner 吗?

同一个 gitlab-ci 文件能使用多个 runner 吗?

作者头像
老麦
发布于 2022-12-24 01:40:18
发布于 2022-12-24 01:40:18
2.9K00
代码可运行
举报
文章被收录于专栏:Go与云原生Go与云原生
运行总次数:0
代码可运行

在 Gitlab CI 中,Runner 是 Job 的执行器, 也就是说 Job 的运行环境, 就是 Runner 的环境。

那么, 怎么将同一个 gitlab ci 中的 Job 运行在不同的 Runner 上呢?

例如, 根据 操作系统 区分, job1 运行在 windows 上, job2 运行在 linux 上, 诸如此类。

使用 TAG 指定 runner

其实很简单, gitlab ci 中, 可以通过指定 tags 来设定运行条件, 满足了 tag 才能被执行。

ci 中的 tags 和可以和 runner 中的 tags 进行匹配

.gitlab-ci.yml

.gitlab-ci.yml 文件如下, 定义了一个 tar stage , 下面有 三个 job 分别对应 三个 runner 的编译和打包环境。

注意, 这里使用的是 Runner 的 TAG ,不是 Runner 的名字

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stages:
  - tar

# .gitlab-ci.yml
tar.ivs:
  stage: tar
  script:
    - /bin/bash ivs-1800-matrix-build.sh
  tags:
    - neuron-arm64 # 执行 ivs 的runner

tar.3519a:
  stage: tar
  script:
    - /bin/bash hisi-3519a-build.sh
  tags:
    - 3519A  # 执行 3519a 的 runner


tar.atlas:
  stage: tar
  script:
    - /bin/bash atlas-500-matrix-build.sh
  tags:
    - edge # 执行 atlas 的 runner

选择 runner

在 Project CICD 配置中, 选中需要的 三个 runner。

注意红色箭头中的 TAG 标记, 也就是上面 gitlab-ci.yml 中的 tags 值。

执行结果

CI 正常触发后, 可以看到三个 JOB 正常执行, 并且是在对应选择的 runner 上。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 熊猫云原生Go 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Gitlab-CICD最简单明了的入门教程
由于目前公司使用的gitlab,大部分项目使用的CICD是gitlab的CICD,少部分用的是jenkins,使用了gitlab-ci一段时间后感觉还不错,因此总结一下
全栈程序员站长
2022/09/07
6.3K0
Gitlab-CICD最简单明了的入门教程
『中级篇』docker之CI/CD持续集成—GitLab CI服务器(71)
PS:整个这个功能是否给你一个很大的想象空间,任何的软件的项目,可以通过ci-Pipelines方式,来定义自己的Pipelines,在测试,部署。很大很的发挥空间。都可以通过自定yml文件来实现。
IT架构圈
2018/09/23
6990
【Git】GitLab CI/CD 的执行流程及实战
GitLab CI/CD 是一个简洁好用的的持续集成/持续交付的框架。通过为你的项目配置一个或者多个 GitLab Runner,然后撰写一个 .gitlab-ci.yml,你就可以很方便地利用 GitLab CI/CD 来为你的项目引入持续集成/交付的功能。
瑞新
2020/12/07
5.4K0
【Git】GitLab CI/CD 的执行流程及实战
Docker安装Gitlab和Gitlab-Runner并实现项目的CICD
介绍如何在Linux系统使用Docker安装Gitlab、Gitlab-Runner并实现项目的CICD
薛定喵君
2019/11/05
2.9K0
『中级篇』docker之CI/CD持续集成—GitLab CI服务器(71)
PS:整个这个功能是否给你一个很大的想象空间,任何的软件的项目,可以通过ci-Pipelines方式,来定义自己的Pipelines,在测试,部署。很大很的发挥空间。都可以通过自定yml文件来实现。
IT架构圈
2019/07/08
8500
Gitlab CI 配置文件 .gitlab-ci.yaml 详解(上)
本文档用于描述 .gitlab-ci.yml 语法,.gitlab-ci.yml 文件被用来管理项目的 runner 任务。如果想要快速的了解GitLab CI ,可查看快速引导。 从 7.12 版本开始,GitLab CI 使用YAML文件 (.gitlab-ci.yml) 来管理项目配置。该文件存放于项目仓库的根目录,它定义该项目如何构建。
Debian中国
2018/12/21
24.4K0
基于 GitLab CI 搭建自动构建环境
持续集成(Continuous integration,简称CI)指的是,频繁地(一天多次)将代码集成到主干。
DevOps时代
2020/06/16
3.2K0
基于 GitLab CI 搭建自动构建环境
Gitlab-ci:从零开始的前端自动化部署
(1) 通过在项目根目录下配置**.gitlab-ci.yml**文件,可以控制ci流程的不同阶段,例如install/检查/编译/部署服务器。gitlab平台会扫描.gitlab-ci.yml文件,并据此处理ci流程
Nealyang
2020/09/01
1.9K0
基于gitlab gitlab-runner的cicd部署
在本文中,我将介绍如何基于 GitLab 和 GitLab Runner 进行 CI/CD 部署。GitLab 是一个强大的 Git 仓库管理系统,提供了完整的 CI/CD 管理功能。GitLab Runner 是一个用于运行 CI/CD 作业的轻量级容器化工具。我们将使用 Docker 容器来运行 GitLab 和 GitLab Runner。
堕落飞鸟
2023/03/27
1.5K0
Git——Docker搭建GitLab&简单的Runner配置
GitLab是一个开源的用于仓库管理的项目,和GitHub一样是使用Git作为代码管理工具。
不愿意做鱼的小鲸鱼
2022/09/26
2.2K0
Git——Docker搭建GitLab&简单的Runner配置
基于gitlab ci构建devops平台
devops的概念很多,理解也很多。我的理解,它属于软件工程范畴。它定义了一种理念,基于这种理念,能够快速的开发,交付软件及成果物。各个团队直接在这个体系中,高效的沟通,协作等。
暮雨
2018/10/11
4.6K2
基于gitlab ci构建devops平台
gitlab-ci的简易入门—基于python项目的CI演示
使用github上开源的一个python的demo项目,地址为:https://github.com/imooc-course/docker-cloud-flask-demo 打开自己的gitlab,点击New project,把项目导入。
没有故事的陈师傅
2020/07/01
3.9K0
gitlab-ci的简易入门—基于python项目的CI演示
基于GitLab的CI执行
在之前编写过CI与Gitlab的整合应用,下来主要详细的介绍使用Gitlab工具的CI的可持续应用。搭建好Gitlab的环境好后,我们需要在Linux的环境安装Gitlab的插件gitlab-ci,安装命令为:
无涯WuYa
2022/01/18
5540
基于GitLab的CI执行
gitlab cicd配置
以前代码更新之后,我们需要手动将代码拉到测试服务器上,运行验收通过之后,再在生产环境重新弄一遍,一两个服务还算轻松,如果涉及到的服务很多的话,每一个服务都需要这样来几遍,这是一个很头疼了,为了解决这个问题,我们引入了比较简单易懂的自动化部署工具,这也是gitlab自带的CI工具gitlab-runner,该工具解决了多环境多服务手动部署繁琐问题,用自动化脚本代替人工部署,我们不需要手动去部署单个服务,可以机械化的执行我们的部署过程。那么一个项目如何配置gitlab CI来实现自动部署呢,主要分两步(前提条件时已经又gitlab-runner服务了):
全栈程序员站长
2022/06/28
7080
通过 .gitlab-ci.yml配置任务
从7.12版本开始,GitLab CI使用YAML文件(.gitlab-ci.yml)来管理项目配置。该文件存放于项目仓库的根目录,它定义该项目如何构建。
leon公众号精选
2022/04/27
5.8K0
通过 .gitlab-ci.yml配置任务
gitlab-ci 配置复用 - reference tags
在 GitLab 13.9 中增加了一个新的关键字 !reference。这个关键字可以在任意位置复用已存在的配置。
老麦
2022/12/24
8830
gitlab-ci 配置复用 - reference tags
Docker搭建自己的Gitlab CI Runner
哎_小羊
2018/01/02
14.8K0
Docker搭建自己的Gitlab CI Runner
Java|用 GitLab CI 进行持续集成:简介一些概念GitLab Runner.gitlab-ci.yml
从 GitLab 8.0 开始,GitLab CI 就已经集成在 GitLab 中,我们只要在项目中添加一个 .gitlab-ci.yml 文件,然后添加一个 Runner,即可进行持续集成。 而且随着 GitLab 的升级,GitLab CI 变得越来越强大,本文将介绍如何使用 GitLab CI 进行持续集成。
黄小怪
2018/12/24
2.4K0
Gitlab CI 配置文件 .gitlab-ci.yaml 详解(下)
本文档是描述 .gitlab-ci.yml 详细用法的下半部分,上半部分的内容请参考这里。.gitlab-ci.yml 文件被用来管理项目的 runner 任务。如果想要快速的了解GitLab CI ,可查看快速引导。 该文件存放于项目仓库的根目录,它定义该项目如何构建。
Debian中国
2018/12/21
7.6K0
打造企业级自动化运维平台系列(十):Gitlab Runner 实现 CI/CD 详解
Gitlab实现CICD的方式有很多,比如通过Jenkins,通过Gitlab Runner等,今天主要介绍后者。Gitlab在安装的时候,就默认包含了Gitlab CI的能力,但是该能力只是用于协调作业,并不能真的去执行作业,因此需要搭配Gitlab Runner来作为执行器实现具体的CICD工作。Gitlab Runner可以被安装在任意支持的系统上,比如Linux、Windows、Mac,甚至也可以运行在Docker、Kubernetes集群上。更多关于构建企业自动化运维平台系列的
民工哥
2024/01/18
6800
打造企业级自动化运维平台系列(十):Gitlab Runner 实现 CI/CD 详解
推荐阅读
相关推荐
Gitlab-CICD最简单明了的入门教程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验