Gitlab CI:根据更改目录从父管道触发不同的子管道

时间:2020-02-18 09:04:00

标签: gitlab

我想以这种方式使用Parent \ Child pipilens https://docs.gitlab.com/ee/ci/parent_child_pipelines.html。 我有这个源代码结构:

- backend
--- .gitlab-ci.yml
--- src
- frontend
--- .gitlab-ci.yml
--- src
-.gitlab-ci.yml

我想根据新提交发生的路径来触发后端或前端.gitlab-ci.yml:如果它发生在前端,则应将frontend.gitlab-ci.yml用于构建\发布。

有可能吗?

1 个答案:

答案 0 :(得分:2)

您可以使用here中记录的only: changes配置,根据代码更改发生的位置指定执行不同的管道。

因此,您可以指定仅在frontend文件夹(“后端”的模拟)中发生更改时才执行管道frontend

您可以使用include: local功能(已记录here)将frontend/.gitlab-ci.yml文件包括在根.gitlab-ci.yml中定义的前端管道中。 有关如何准确配置管道以使其触发本地文件中提供的配置的示例,请参见here

父子管道也支持here中所述的only: changes配置。