job:
script:
- build # replace with your build command
rules:
- changes:
- /*.{java, py} # ... or whatever your file extension is
- dockerfiles/**/* # all files under folder 'dockerfiles'
Update: This is now possible as of 11.4, see https://docs.gitlab.com/ee/ci/yaml/#onlychangesexceptchanges 原文: 目前还没有任何方法可以根据编辑过的文件有条件地触发GitLab CI中的构建。 我自己以前也考虑过这个特性,我认为它对许多不同的用例都非常有用。 我能找到的与此最接近的问题是https://gitlab.com/gitlab-org/gitlab-ce/issues/23010 不管怎样,回答你的问题: 您现在真的不能这样做--甚至手动也不行--因为CI没有合并请求的概念,所以无法确定合并请求是否更改了文件。 "理解"合并请求是什么的管道应该在不久的某个时候添加。
5条答案
按热度按时间ddrv8njm1#
更新2
Only/except似乎是一个不稳定的特性,文档建议使用
rules:changes
:更新1:
就像评论中提到的Gajus一样,现在已经可以了!
原帖:
不,这不可能--现在不行!
我认为这就是您要寻找的问题:https://gitlab.com/gitlab-org/gitlab-ce/issues/19232-这是一个评级非常高的问题(超过100个大拇指)。
4个月前,里程碑已更改为 * 下一个3-6个月 *。(https://gitlab.com/gitlab-org/gitlab-ce/issues/19232#note_31943850)希望我们能很快看到此功能。
2w2cym1i2#
Update: This is now possible as of 11.4, see https://docs.gitlab.com/ee/ci/yaml/#onlychangesexceptchanges
原文:
目前还没有任何方法可以根据编辑过的文件有条件地触发GitLab CI中的构建。
我自己以前也考虑过这个特性,我认为它对许多不同的用例都非常有用。
我能找到的与此最接近的问题是https://gitlab.com/gitlab-org/gitlab-ce/issues/23010
不管怎样,回答你的问题:
您现在真的不能这样做--甚至手动也不行--因为CI没有合并请求的概念,所以无法确定合并请求是否更改了文件。
"理解"合并请求是什么的管道应该在不久的某个时候添加。
tkqqtvp13#
当与
only
规则组合时,此规则对我有效2sbarzqh4#
该功能从版本11.4开始提供。
参见文档。
ma8fv8wu5#
我在网上浏览的时候没有任何解决方案,然后我回到gitlab官方文档,尝试他们写的东西:https://docs.gitlab.com/15.7/ee/ci/jobs/job_control.html#onlychanges--exceptchanges-examples
在我的情况下,这是一个有效的解决方案,神奇之处在于:
except
规则到所有相关作业中,如下所示:更新docu(.md)不会再触发整个管道。
干杯,