2012-10-30 6 views
5

aus. Unser Commit Build (Maven) verwendet nicht sauber. Dies macht es erheblich schneller. Aber gelegentlich bekommen wir Dinge wie eine verschobene oder gelöschte Test-Klasse, die herum bleibt und ausführt und oft fehlschlägt.Führen Sie einen fehlgeschlagenen Jenkins Build mit sauberem

Gibt es eine Möglichkeit, Jenkins so zu konfigurieren, dass es versucht, den Build erneut auszuführen, aber einen mvn clean oder clean workspace vornimmt?

+0

Wie lange bauen Sie nehmen? – khmarbaise

+0

weniger als 6 Minuten ohne sauber, in der Nähe von 10 mit sauber. –

Antwort

4

Wie wäre es mit "Trigger parametrisierte Build auf andere Projekte" Post-Build-Aktion?

für „Projekte zu bauen“, verwenden Sie „$ JOB_NAME“, die den Job selbst
Für „Trigger, wenn Build“ ausgelöst wird, verwenden Sie „Fehler“ aus dem Dropdown-
Then „Parameter hinzufügen“ klicken und wählen Sie „Current Build-Parameter
Schließlich fügen Sie "Vordefinierte Parameter", setzen so etwas wie "REBUILD = TRUE"

Jetzt benötigen Sie einen Build-Schritt, der vor SVN Kasse führt
dieses Plugin installieren:
https://wiki.jenkins-ci.org/display/JENKINS/pre-scm-buildstep

Nun wird in der Jobkonfiguration unter "Build Environment" ein Häkchen für "Run buildstep before SCM runs" gesetzt. Überprüfen Sie, dass
Dann Build-Schritt für "Execute Shell" oder "Windows Batch-Befehl ausführen" hinzufügen, abhängig von Ihrem Betriebssystem. Führen Sie in diesem Build-Schritt eine einfache Überprüfung für die Variable "REBUILD" durch, die gleich "TRUE" ist, wiederum basierend auf Ihrer Betriebssystem-Shell-Auswahl. Und wenn dies der Fall ist, bereinigen Sie den Arbeitsbereich von der Shell, indem Sie den gesamten Inhalt dort löschen. Sie können genauer sein und nur den SVN-Checkout-Ordner löschen, falls erforderlich.

+1

Was ist, wenn der Build erneut fehlschlägt, aus irgendeinem Grund das kann nicht durch einen sauberen Build behoben werden? Gibt es eine Möglichkeit, Jenkins immer wieder zu stoppen? – danio

0

Ich würde vorschlagen, die Retry-Failed-Builds-Plugin zu verwenden, um solche Art von Jobs neu zu triggern.

+0

Weder dies noch sein Ersatz https://wiki.jenkins-ci.org/display/JENKINS/Naginator+Plugin scheinen irgendeine Unterstützung für spezielle Schritte zwischen Fehler und Wiederholung zu haben. –

0

Retry-Failed-Build-Plugin ist veraltet. Naginator Plugin wird nicht ausgelöst, es sei denn, es ist ein schwerer Fehler. Für mich hat es zumindest nicht funktioniert. Vielleicht möchten Sie versuchen, Build Flow Plugin

+0

Build Flow Plugin ist "Veraltet: Benutzer sollten auf https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin migrieren" – jdv

Verwandte Themen