2013-05-01 7 views
5

Ich habe eine Frage auf der Plugins-Seite, aber dies scheint ein viel aktiverer Ort für Jenkins Unterstützung zu sein.Jenkins GitHub Plugin Inverse Zweige

Wenn eine Änderung an einen Zweig übergeben wird, wird der Job ausgeführt und in den Zweig Entwickeln integriert, aber ca. 20 Sekunden später merkt der Job die Zusammenführung in Entwicklung und löst den Job erneut aus. Dies sollte nicht passieren, weil sich in den Zweigen entwickeln soll (mit inverser Auswahlstrategie). Dies geschieht auch, wenn eine Änderung zum Master oder Release gepusht wird, was ebenfalls ausgeschlossen werden sollte. Wenn ein Zusammenführungsfehler auftritt, startet der Job eine Endlosschleife, die versucht, die Zweige zusammenzuführen, bis der Konflikt manuell aufgelöst wird.

Ich habe auch versucht, einen bestimmten Benutzer aus dem Auslösen von Builds auszuschließen, auch ohne Wirkung.

Ich gehe davon aus, dass das Github-Plugin die Auswahlstrategie oder die anderen Git-Plugin-Optionen nicht respektiert.

Ich hoffe, die folgenden Informationen sind alles, was benötigt wird, um mir zu helfen, mich mit diesem Problem zu beschäftigen.

GitHub Plugin    => 1.5 
GitHub API Plugin   => 1.40 
GitHub Pull Request Builder => 1.7 
GitHub Authentication Plugin => 0.13.1 
Jenkins GIT Plugin   => 1.3.0 
Jenkins GIT client Plugin => 1.0.5 

Interessante Konfigurationsoptionen von Build

Branchen zu bauen

master,**master,release,**release,develop,**develop 

Ausgeschlossen Benutzer

jenkins 
ConvergintJenkins 

Merge Optionen

✓ Merge before build 
Branch to merge to 
    develop 

Disable Submodul Verarbeitung ✓

stragety

Inverse 

Build-Trigger

✓ Build when a change is pushed to github 
✓ Poll SCM 

Polling Log Git Wahl

Polling has not run yet. 

Github Haken Log

Started on Apr 30, 2013 3:53:14 PM 
Using strategy: Inverse 
[poll] Last Built Revision: Revision bde1981da849dbfb2fd93aac4de05fd5a832043b (origin/ach) 
Fetching changes from the remote Git repositories 
Fetching upstream changes from origin 
Polling for changes in 
Seen branch in repository origin/develop 
Seen branch in repository origin/feature-228 
Seen branch in repository origin/feature-249 
Seen branch in repository origin/master 
Seen branch in repository origin/release 
Done. Took 1.4 sec 
Changes found 

Antwort

6

Es sieht so aus, als hätten Sie hier zwei Probleme.

  1. Die Zweige, die Sie nicht erstellen möchten, werden erstellt.
  2. Sie sehen ein funky merging-Verhalten (wahrscheinlich als Ergebnis des oben genannten Punktes).

Ich denke, Ihre Diagnose ist richtig - I am beginning to assume that the Github plugin does not respect the choosing strategy or the other git plugin options.

Ich hatte auch in der Vergangenheit Probleme mit den verschiedenen GitHub Plugins. Sie haben einige nette Konfigurationsoptionen und können einige clevere Dinge tun, aber letztlich kann ein bisschen flockig sein. Ich bin der festen Überzeugung, dass es in einer CI-Pipeline absolut keinen Platz für Plattfüße geben sollte (da dies zu mangelndem Vertrauen führen würde).

Meiner Meinung nach können Sie nichts falsch machen, wenn Sie alles zurück zu den Grundlagen ausziehen. Verwenden Sie das Jenkins Git-Plugin und behandeln Sie GitHub wie jedes andere Git-Repository. Stellen Sie SSH oder ähnliches (useful help article here) und ein annehmbares Abfrageintervall auf und Sie sollten keine Probleme haben!

Ich habe Hunderte von Jenkins-Jobs auf diese Weise für meine Organisation eingerichtet, die private GitHub-Repositories verwendet. Hoffe das hilft.

+1

Ich habe diesen Job zurück auf das Standard-Git-Plugin verschoben, kurz nachdem ich diese Frage gepostet habe und es scheint jetzt gut zu laufen, keine Merge-Loops, nur die Zweige verschmelzen und alles gut aussehen. Danke für die Versicherung, dass ich nicht verrückt bin. – Rockstar04

+0

Das ist gut zu hören, froh, dass wir beide zum selben Schluss gekommen sind und es funktioniert jetzt für Sie! –

+0

Und das zugehörige Ticket über inverse Strategie funktioniert nicht: [JENKINS-22593: GitHub-Plugin nicht mit inverser Build-Strategie eingeschaltet] (https://issues.jenkins-ci.org/browse/JENKINS-22593) –