本文是《GitLabCI实践》教程部分内容,点击上面图片报名学习!
needs 并行阶段
可无序执行作业,无需按照阶段顺序运行某些作业,可以让多个阶段同时运行。
stages:
- build
- test
- deploy
module-a-build:
stage: build
script:
- echo "hello3a"
- sleep 10
module-b-build:
stage: build
script:
- echo "hello3b"
- sleep 10
module-a-test:
stage: test
script:
- echo "hello3a"
- sleep 10
needs: ["module-a-build"]
module-b-test:
stage: test
script:
- echo "hello3b"
- sleep 10
needs: ["module-b-build"]
如果needs:
设置为指向因only/except
规则而未实例化的作业,或者不存在,则创建管道时会出现YAML错误。
暂时限制了作业在needs:
可能需要的最大作业数分配,ci_dag_limit_needs
功能标志已启用(默认)分配10个,如果功能被禁用为50。
Feature::disable(:ci_dag_limit_needs) # 50
Feature::enable(:ci_dag_limit_needs) #10
制品下载
在使用needs
,可通过artifacts: true
或artifacts: false
来控制工件下载。默认不指定为true。
module-a-test: