首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gitlab-ci.yml配置以处理多个条件父子管道

gitlab-ci.yml配置以处理多个条件父子管道
EN

Stack Overflow用户
提问于 2019-09-18 19:36:59
回答 1查看 1.3K关注 0票数 0

我有一个存储库设置,其中有多个maven项目,其中2个是主项目,其余是依赖项目。我想配置gitlab-ci.yml文件来处理依赖于项目的更改,以触发相应主项目的构建。

以下是项目结构的示例。有两个主项目,其余的是依赖项目。主项目AB有2个依赖项目(A&B),主项目CD有2个依赖(C&D)。如果项目A或B中有任何更改,则应触发主项目AB。如果项目C或D中有任何更改,则应触发主项目CD。如何在gitlab-ci.yml文件中写入此条件?每个项目是否需要多个.gitlab-ci.yml文件?

代码语言:javascript
复制
  master
  - Dependency Project A
  - Dependency Project B
  - Main Project AB
  - Dependency Project C
  - Dependency Project D
  - Main Project CD
  - .gitlab-ci.yml
EN

回答 1

Stack Overflow用户

发布于 2019-09-22 13:20:14

是的,您在每个项目中都需要一个.gitlab-ci.yml,但是在如何触发作业方面有几个选项。

无论您选择哪种触发方法(如下所示),所有依赖项项目都应该有一个配置项文件,指定触发主项目的配置项的条件。主项目的配置项文件应指定各种作业

多项目管道(付费功能)

文档:https://docs.gitlab.com/ee/ci/multi_project_pipelines.html

最简单的选择是编写您的配置项,以便依赖项中的提交触发相应主项目的配置项中的下游管道。

触发器接口

文档:https://docs.gitlab.com/ee/ci/triggers/README.html#adding-a-new-trigger

另一种选择是通过在依赖项项目的CI作业中添加curl命令来使用触发器API。在这种情况下,需要一个ref。

在主项目的配置项中,您可以指定only run with a trigger token的作业。

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

https://stackoverflow.com/questions/57991876

复制
相关文章

相似问题

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