2016-07-12 17 views
3

Ich installiert Rabbit MQ-Plugin für Gerrit und konfiguriert Gerrit, um Stream-Ereignisse an die Warteschlange zu senden. Ich habe das Gerrit-Trigger-Plugin und das Rabbit MQ-Consumer-Plugin in meinem Jenkins installiert und einen Test-Job erstellt, um Build basierend auf einem Gerrit-Ereignis auszulösen.Konfigurieren von Gerrit-Trigger mit Rabbitmq Consumer-Plugin

Gerrit schiebt die Ereignisse in die Rabbit MQ-Warteschlange. Jenkin-Job soll die Gerrit-Ereignisse von der Rabbit-MQ-Warteschlange empfangen und für jedes Ereignis einen Build erstellen.

Das Problem ist, dass Jenkin Job (Test-Job) zweimal statt einmal für jedes Gerrit-Ereignis ausgelöst wird und zwei Builds für ein Ereignis auftreten.

Es scheint, dass ein Build aufgrund eines Gerrit-Ereignisses in der Rabbit-MQ-Warteschlange ausgelöst wird und ein anderer Build für denselben Job aufgrund eines Gerrit-Ereignisses vom konfigurierten Gerrit-Server ausgelöst wird.

Ich habe versucht, Internet zu suchen, aber keine Lösungen gefunden.

ich dieses Tutorial gefolgt .. https://docs.google.com/presentation/d/10n0A6BoyEVBsU4t-edW58Nq5kuefmcIZFBAssxxQoMU/htmlpresent

Gerrit Trigger Plugin-Konfiguration in Jekin

// Nicht komplette Config

<name>local-gerrit</name> 
<gerritHostName>10.xxx.yy.zz</gerritHostName> 
<gerritSshPort>29418</gerritSshPort> 
<gerritFrontEndUrl>http://10.xxx.yy.zz:8010/</gerritFrontEndUrl> 

Kaninchen MQ Verbraucher Plugin-Konfiguration Jenkin

<?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> 

Jede Hilfe zu diesem wird geschätzt. Danke im Voraus.

Antwort

0

Es könnte wegen Gerrit Haken sein, die entfernt Ihren Jenkins Job auslösen können. (Wenn Sie Konfigurationen in gerrit Haken haben)

+0

Ich verstehe das nicht. Bitte sagen Sie mir, wo kann ich überprüfen, Gerrit Haken Konfiguration und wie Sie das deaktivieren. Alle Links auf diesem werden wirklich hilfreich sein. – sai

+0

Vollständige Gerrit-Hook-Informationen finden Sie hier https://git.eclipse.org/r/Documentation/config-hooks.html –