使用git和Gerrit在项目的本地分支中完成一系列本地提交之后,我将这一系列更改推送到Gerrit中进行审查并最终合并。在Gerrit中,除了其中一个提交,我看到了“与父母一起提交”按钮。这是预期的行为,我已经明白了为什么。
在Jenkins中,我还利用Jenkinsfile构建我的管道,并且这样做时,我还使用Gerrit Triggers插件对Gerrit中的事件流做出反应。更具体地说,我挂钩了merge事件以触发用于测试目的的发布就绪版本。
当我分别提交每个更改时,Jenkins会触发一个构建并沿其愉快的方式进行一次构建。但是...如果我与父母合并(假设实现了大功能),则Gerrit会为系列中的每个提交触发一个事件。我想知道的是,詹金斯(Jenkins)或杰里特(Gerrit)是否有办法只处理孩子犯下的事件而忽略父母的事件?
答案 0 :(得分:0)
Jenkins / Gerrit没有办法专门处理此问题,但我会建议一些解决方法:
1)您可以在Jenkins的Gerrit触发器上添加带有“ build”值的“主题”。这样做,Jenkins将只构建该主题的合并更改,并且您只需要在子更改中添加“ build”主题,即可让Jenkins知道您要构建的提交。
2)您可以将Gerrit触发器从“更改合并的”更改为“添加的包含正则表达式的注释”,例如“ build”值。这样做,合并更改后的Jenkins将不会构建,您可以从子提交触发构建,只需在Gerrit的子更改中添加“构建”注释即可。
我希望这对您有帮助