有没有办法限制由使用 "Submit With Parents" 提交的 Gerrit 合并事件触发的 Jenkins 构建的数量?



在使用 git 和 Gerrit 完成一系列本地提交到项目的本地分支后,我将这一系列更改推送到 Gerrit 中进行审查并最终合并。在 Gerrit 中,我看到除了其中一个提交之外的所有提交都带有"与父母一起提交"按钮。这是预期的行为,我已经明白为什么了。

在 Jenkins 中,我还使用 Jenkinsfile 来构建我的管道,在此过程中,我还使用 Gerrit 触发器插件对 Gerrit 中的事件流做出反应。更具体地说,我挂接到合并事件以触发发布就绪版本以进行测试。

当我单独提交每个更改时,Jenkins 会触发一个构建,并按照它快乐的方式一次构建一个东西。但。。。如果我与父级合并(假设大型功能实现),Gerrit 会为系列中的每个提交触发一个事件。我很想知道的是,Jenkins 或 Gerrit 中是否有一种方法可以只处理子提交中的事件并省略父级的事件?

Jenkins/Gerrit 没有办法专门处理这个问题,但我会建议一些解决方法:

1)你可以在Jenkins上的Gerrit触发器中添加一个"主题",类似于"构建"值。这样做,Jenkins 只会构建本主题的合并更改,您只需要将"build"主题添加到子更改中,让 Jenkins 知道您想要构建什么提交。

2)您可以将Gerrit触发器从"更改合并"更改为"添加的注释包含正则表达式",并带有类似于"构建"值的内容。这样做,Jenkins 不会在合并更改时构建,您只需在 Gerrit 的子更改中添加"构建"注释即可从子提交触发构建。

我希望这有帮助

最新更新