首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Gitlab CI中明确定义连续作业执行的阶段?

在Gitlab CI中明确定义连续作业执行的阶段?
EN

Stack Overflow用户
提问于 2022-11-24 07:40:32
回答 1查看 23关注 0票数 0

根据文档

如果在..gitlab ci.yml文件中没有定义阶段,默认的管道阶段是: .pre构建测试部署.post

现在我有了这个示例.gitlab-ci.yml文件,没有定义阶段:

代码语言:javascript
复制
job_build:
  stage: build
  
job_deploy:
  stage: deploy

由于默认阶段是定义的,我假设这些作业将按顺序执行,但是,在检查管道UI时,Gitlab运行程序似乎并行执行这些作业。

现在,我尝试显式地定义这样的阶段:

代码语言:javascript
复制
stages:
  - build
  - deploy

job_build:
  stage: build
  
job_deploy:
  stage: deploy

这些工作是按顺序执行的。

我的问题是,如果没有显式定义阶段,它们是否会并行运行,或者是一个bug?

--

更新

我发现它们是并行运行的,因为job_buildif: '$CI_COMMIT_BRANCH == "main"'规则,而job_deploy没有。但如果两者都有相同的规则,它们就会按顺序运行。仍然很奇怪,因为如果job_deploy还没有完成,那么job_build就不应该运行,对吗?

EN

回答 1

Stack Overflow用户

发布于 2022-11-27 11:14:32

默认情况下,除非添加needs param来创建作业依赖项,否则gitlab将并行(独立)执行。

您可以在这里找到文档:https://docs.gitlab.com/ee/ci/yaml/#needs

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74557186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档