如何扩展隐藏作业并在一个阶段中顺序执行它们



示例gitlab管道只是我实际管道的简化版本。但基本上我有多个隐藏的作业,我想在一个阶段中依次运行这些作业。

.core:job:  
script:
- ls    

.job1:
extends:
- .core:job
before_script:
- cd ${CI_PROJECT_DIR}/job1

.job2
extends: 
- .core:job
before_script:
- cd ${CI_PROJECT_DIR}/job2

# include all the jobs
.job:all: 
extends:
- .job1
- .job2

.gitlab-ci.yml

stages:  
- master
master: 
stage: master
extends:
- .job:all

该管道不工作,它只合并最后一个作业(在本例中是job2)并只执行job2

处理这个问题的方法是使用关键字needs,它允许您乱序执行作业。

https://docs.gitlab.com/ee/ci/yaml/需求有一点要记住:

在GitLab 14.1及以后版本中,您可以引用与您正在配置的作业。此功能已在GitLab.com和准备用于生产。在自我管理的GitLab 14.2和以后的版本功能默认可用。

的例子:

.core:job:  
script:
- ls    

job1:
extends:
- .core:job
before_script:
- cd ${CI_PROJECT_DIR}/job1

job2:
extends: 
- .core:job
before_script:
- cd ${CI_PROJECT_DIR}/job2
needs: [ "job1" ]

相关内容

  • 没有找到相关文章

最新更新