Gerrit触发器如何构建仅适用于项目的某个部分

我正在使用与git和gerrit触发器集成的Jenkins。

我管理一个巨大的回购,导致大量的提交。 所以我对每次推动完成整个项目的构建都不感兴趣。 这里的想法只是建立特定项目.pom文件,其中存在代码更改。

例如:

    -"common" is a subdir with its own .pom 

    -"persistence" is a subdir with its own .pom. "persistence" depends on common dir.

因此,如果在持久性目录上有更改,我必须仅构建持久性.pom文件,因为它将构建通用的依赖关系。 另一方面,如果有人改变共同的代码,詹金斯没有必要建立持久性。 所以它会为我节省时间和资源。

所以这里的问题是我怎么能做到这一点? gerrit触发器是否对此有任何支持?

更新:在选择更改的文件时,文件RegEx选项是指文件路径还是文件名?

另外,有没有办法使用RegEx字段来表达类似build的内容:“如果共同改变而不改变持久性”?


您是否尝试过使用动态触发器配置? 您定义了一个过滤器 - 作业应该从哪个更改开始。 因此,您为每个构建创建作业,然后使用过滤器定义适当的gerrit触发器。 或者,如果您只想为每个构建使用1个作业 - 然后编写一个脚本,您可以在其中使用git来确定哪个文件已更改,然后为其选择正确的项目文件。

更新:尝试玩新的生成参数: GERRIT_TOPIC
因此,请使用正确的主题名称来推送您的更改,例如

git push origin HEAD:refs/for/master/topic_name 

其中topic_name可以是常见的,持久性主题名称可以通过git中的pre-push hook自动填充。

链接地址: http://www.djcxy.com/p/26661.html

上一篇: How to Gerrit Trigger builds only for a certain part of the project

下一篇: How to split every commit by file?