在GitLab CI中利用needs自定义job执行顺序

在GitLab CI中利用needs自定义job执行顺序

Gitlab ci中有多种方式自定义多job的执行顺序,这里记录一下利用
needs 来调整job执行顺序。

首先来一个yml文件,

stages:
    - stage-1
    - stage-2

job-1:
    stage: stage-1
    needs: []
    script: 
      - echo "job-1 started"
      - sleep 5
      - echo "job-1 done"

job-2:
    stage: stage-1
    needs: []
    script: 
      - echo "job-2 started"
      - sleep 60
      - echo "job-2 done"

job-3:
    stage: stage-2
    needs: [job-1]
    script: 
      - echo "job-3 started"
      - sleep 5
      - echo "job-3 done"

job-4:
    stage: stage-2
    needs: [job-2]
    script: 
      - echo "job-4 started"
      - sleep 5
      - echo "job-4 done"

这里job1 和 job2 是可以并行的。
job1之后将会启动job3 (立即执行, 不会等待job2完成作业)
job2之后将会启动job4 (立即执行, 不会等待job1完成作业)
Job running
正如您在屏幕截图中看到的,没等job2完成,job3就已开始执行了。

猜你喜欢

转载自blog.csdn.net/sirodeng/article/details/117305962
今日推荐