这是我在 .gitlab-runner.yml 中的工作之一:
test-prod:
stage: test
tags:
- vm1
script:
- pwd
如果我添加到
tags
标签 vm2
(这是另一个跑步者的标签),它将不起作用,因为它将寻找具有这两个标签的跑步者。
那么我如何配置作业以分别在每个运行器上执行
script
(这意味着如果我有 3 个具有单独标签的运行器:vm1、vm2 和 vm3,它将在每个运行器上执行脚本)。
我尝试在每个跑步者上添加相同的标签,但这只会随机在该标签的一个跑步者上执行脚本。
我知道我可以添加另一个带有不同标签的
test-prod
,但是没有更简单、更容易的方法吗?
我不确定你想用这个做什么,但你可以使用 extend 函数这样解决它:
.test-prod:
stage: test
script:
- <do your stuff>
test-prod:vm1:
extends: .test-prod
tags:
- vm1
test-prod:vm2:
extends: .test-prod
tags:
- vm2
test-prod:vm3:
extends: .test-prod
tags:
- vm3