Gitlab CI - 仅当特定文件集发生更改时如何触发构建

时间:2016-11-21 03:24:23

标签: git build continuous-integration gitlab gitlab-ci

在Gitlab CI中,只有在特定文件集发生变化时,如何触发构建?

有没有办法在触发构建时包含或排除某些文件?例如:更新README.md, .gitignore文件不应导致构建触发。

3 个答案:

答案 0 :(得分:7)

<强>更新

与评论中提到的Gajus一样,现在可以了!

合并请求https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21981

文档https://docs.gitlab.com/ee/ci/yaml/#onlychanges(感谢Connor Shea对评论中的提示)

原帖

不,这是不可能的 - 不是现在!

我认为这是您正在寻找的问题:https://gitlab.com/gitlab-org/gitlab-ce/issues/19232 - 这是一个非常高评价的问题(超过100次)。

里程碑已于4个月前更改为 Next 3-6个月。 (https://gitlab.com/gitlab-org/gitlab-ce/issues/19232#note_31943850) 我希望我们很快就能看到这个功能。

答案 1 :(得分:4)

更新:现在可以从11.4开始,请参阅https://docs.gitlab.com/ee/ci/yaml/#onlychangesexceptchanges

原帖:

目前没有任何方法可以根据已编辑的文件有条件地触发GitLab CI中的构建。

我之前已经考虑过这个功能,我认为它对于许多不同的用例非常有用。

我能找到的最接近的问题是https://gitlab.com/gitlab-org/gitlab-ce/issues/23010

无论如何,要回答你的问题:

你现在无法真正做到这一点 - 甚至是手动 - 因为无法确定合并请求是否更改了文件,因为CI没有合并请求的概念。

管道“理解”应该很快添加合并请求。

答案 2 :(得分:2)

偶然发现了您的问题。我认为有些晚了:),但是该功能自11.4版起可用

请参阅docs