运行 在 gitlab 上直接工作而不交错

run jobs in straight without interleaving on gitlab

我正在使用 GitLab 8.8.2-ee。 我想避免 'interleaving' 份工作。

假设一个 repo R 有工作 A 和 B,其中 B 依赖于 A。 如果有多个提交,作业有时会交错

A1 -> A2 -> B1 -> B2

但我想要以下顺序:

A1 -> B1 -> A2 -> B2 或 A2 -> B2 -> A1 -> A1

有什么方法可以强制执行此操作吗?

您可以将您的作业分组为 一个 作业,这将定义 its .gitlab-ci.yml

中的阶段

参见“Run jobs sequentially

We only want to run the 'package' job if the tests are successful. Let's define the order by specifying stages:

stages:
  - test
  - package

test:
  stage: test
  script: cat file1.txt file2.txt | grep -q 'Hello world'

package:
  stage: package
  script: cat file1.txt file2.txt | gzip > packaged.gz
  artifacts:
    paths:
    - packaged.gz