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

问题描述 投票:15回答:3

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

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

git build continuous-integration gitlab gitlab-ci
3个回答
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个月前的下一个3-6个月。 (https://gitlab.com/gitlab-org/gitlab-ce/issues/19232#note_31943850)我希望我们很快就会看到这个功能。


4
投票

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

原帖:

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

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

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

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

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

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


2
投票

无意中发现了你的问题。我认为它有点晚了:),但自11.4版以来可用

docs

© www.soinside.com 2019 - 2024. All rights reserved.