将 Gitlab CI 阶段配置为不并行运行

mat*_*man 6 gitlab gitlab-ci

我有一个具有多个阶段的 Gitlab CI 管道。默认情况下,两个作业之间的同一阶段将并行运行。我所经历的阶段之一是集成测试阶段,该阶段一次只能有一个正在运行的实例,因为它依赖于正在设置和拆除的特定资源。

有没有一种简单的方法来指定某个阶段应该只有一个并发实例?

Gitlab企业版 v10.0.3

Jak*_*nia 4

这是可能的,但并不简单。使用标签定义作业:

job:
  tags:
    - integration
  script:
    - run intergation tests
Run Code Online (Sandbox Code Playgroud)

这将确保作业仅在具有特定标签的运行器上运行。现在创建一个运行器,并将标签integration和并发度设置为 1。

集成测试将一次运行一个,因为只有一名运行者可以运行它们,并且上面只有 1 个槽。

  • @mattherman您可以在同一个实例上配置多个运行器,只需在 config.toml 中添加另一个部分即可。 (2认同)