在 Gitlab CI 中,Runner 是 Job 的执行器, 也就是说 Job 的运行环境, 就是 Runner 的环境。
那么, 怎么将同一个 gitlab ci
中的 Job
运行在不同的 Runner 上呢?
例如, 根据 操作系统 区分, job1
运行在 windows
上, job2
运行在 linux
上, 诸如此类。
其实很简单, gitlab ci
中, 可以通过指定 tags
来设定运行条件, 满足了 tag
才能被执行。
而 ci
中的 tags
和可以和 runner
中的 tags
进行匹配
.gitlab-ci.yml
.gitlab-ci.yml
文件如下, 定义了一个 tar
stage , 下面有 三个 job
分别对应 三个 runner 的编译和打包环境。
注意, 这里使用的是 Runner 的
TAG
,不是 Runner 的名字
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
在 Project CICD 配置中, 选中需要的 三个 runner。
注意红色箭头中的 TAG
标记, 也就是上面 gitlab-ci.yml
中的 tags
值。
CI 正常触发后, 可以看到三个 JOB 正常执行, 并且是在对应选择的 runner 上。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有