在Gitlab CI中,只有在特定文件集发生变化时,如何触发构建?
有没有办法在触发构建时包含或排除某些文件?例如:更新README.md, .gitignore
文件不应导致构建触发。
答案 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