我为Gerrit安装了Rabbit MQ插件,并配置了Gerrit将流事件发送到Queue。我在我的Jenkins中安装了Gerrit Trigger插件和Rabbit MQ消费者插件,并创建了一个基于Gerrit事件触发构建的测试工作。使用rabbitmq消费者插件配置gerrit触发器
Gerrit将事件推送到Rabbit MQ队列。 Jenkin工作应该从Rabbit MQ队列接收gerrit事件,并为每个事件进行构建。
问题在于对于每个gerrit事件,Jenkin作业(测试作业)触发两次而不是一次,而两个构建发生一个事件。
似乎由于Rabbit MQ队列中的gerrit事件触发了一个构建,并且由于来自配置的gerrit服务器的gerrit事件触发了同一作业的另一个构建。
我试图搜索互联网,但没有找到解决方案。
我跟着这个教程.. https://docs.google.com/presentation/d/10n0A6BoyEVBsU4t-edW58Nq5kuefmcIZFBAssxxQoMU/htmlpresent
格里特在Jekin触发插件配置
//不完整的配置
<name>local-gerrit</name>
<gerritHostName>10.xxx.yy.zz</gerritHostName>
<gerritSshPort>29418</gerritSshPort>
<gerritFrontEndUrl>http://10.xxx.yy.zz:8010/</gerritFrontEndUrl>
兔MQ消费插件配置詹
<?xml version='1.0' encoding='UTF-8'?>
<org.jenkinsci.plugins.rabbitmqconsumer.GlobalRabbitmqConfiguration plugin="[email protected]">
<urlValidator>
<options>8</options>
<allowedSchemes>
<string>amqp</string>
<string>amqps</string>
</allowedSchemes>
</urlValidator>
<enableConsumer>true</enableConsumer>
<serviceUri>amqp://10.xxx.yy.zz</serviceUri>
<userName>guest</userName>
<userPassword></userPassword>
<watchdogPeriod>60000</watchdogPeriod>
<consumeItems>
<org.jenkinsci.plugins.rabbitmqconsumer.RabbitmqConsumeItem>
<appId>gerrit</appId>
<queueName>jenkin-queue</queueName>
</org.jenkinsci.plugins.rabbitmqconsumer.RabbitmqConsumeItem>
</consumeItems>
<enableDebug>false</enableDebug>
</org.jenkinsci.plugins.rabbitmqconsumer.GlobalRabbitmqConfiguration>
对此的任何帮助表示赞赏。提前致谢。
我不明白这一点。请告诉我在哪里可以检查gerrit钩子配置以及如何禁用它。任何关于此的链接都会有帮助。 – sai
完整的gerrit钩子信息在这里https://git.eclipse.org/r/Documentation/config-hooks.html –