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

Is there a way to limit the number of Jenkins builds triggered by a Gerrit merge event that was submitted using "Submit With Parents"?

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

在 Jenkins 中,我还利用 Jenkinsfile 来构建我的管道,在这样做的过程中,我还使用 Gerrit 触发器插件对 Gerrit 中的事件流做出反应。更具体地说,我连接到合并事件以触发发布就绪构建以用于测试目的。

当我单独提交每个更改时,Jenkins 会触发一个构建并沿着它一次构建一个东西的快乐方式移动。但是...如果我与 parents 合并(假设大型功能实现),Gerrit 会为系列中的每个提交触发一个事件。我想知道的是,Jenkins 或 Gerrit 是否有办法只处理来自 child 提交的事件并忽略 parents?

的事件

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

1) 您可以将 "Topic" 添加到 Jenkins 上的 Gerrit 触发器,其中包含类似 "build" 的值。这样做,Jenkins 将只构建该主题的合并更改,您只需将 "build" 主题添加到子更改中,让 Jenkins 知道您要构建什么提交。

2) 您可以使用类似 "build" 的值将 Gerrit 触发器从 "Change Merged" 更改为 "Comment Added Contains Regular Expression"。这样做,Jenkins 将不会在合并更改时构建,您可以从子提交触发构建,只需在 Gerrit 的子更改中添加 "build" 评论。

希望对您有所帮助