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

时间:2019-10-21 14:10:43

标签: gitlab gitlab-ci gitlab-ci-runner

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

test-prod:
  stage: test
  tags:
    - vm1

  script:
    - pwd

如果我在tags标签vm2(这是另一个跑步者的标签)中添加标签,它将无法正常工作,因为它将查找同时具有两个标签的跑步者。

因此,我如何配置作业以分别在每个运行程序上执行script(这意味着如果我有3个运行程序带有单独的单个标签:vm1,vm2和vm3,它将在每个运行程序上执行脚本)。

我尝试在每个运行程序上添加相同的标签,但是只会在该标签的一个运行程序上随机执行脚本。

我知道我可以添加另一个具有不同标签的test-prod,但是没有一种更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

我不确定您要怎么做,但是您可以使用extend function来解决此问题:

.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