使用标签在跑步者上执行作业的最佳方式?

问题描述 投票:0回答:1

这是我在 .gitlab-runner.yml 中的工作之一:

test-prod:
  stage: test
  tags:
    - vm1

  script:
    - pwd

如果我添加到

tags
标签
vm2
(这是另一个跑步者的标签),它将不起作用,因为它将寻找具有这两个标签的跑步者。

那么我如何配置作业以分别在每个运行器上执行

script
(这意味着如果我有 3 个具有单独标签的运行器:vm1、vm2 和 vm3,它将在每个运行器上执行脚本)。

我尝试在每个跑步者上添加相同的标签,但这只会随机在该标签的一个跑步者上执行脚本。

我知道我可以添加另一个带有不同标签的

test-prod
,但是没有更简单、更容易的方法吗?

gitlab gitlab-ci gitlab-ci-runner
1个回答
1
投票

我不确定你想用这个做什么,但你可以使用 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

© www.soinside.com 2019 - 2024. All rights reserved.