2014-05-08 2 views
7

Ich habe einen Jenkins Job bekam, die folgendes tun soll:Wie führe ich eine Aufgabe bei einem Fehler in Jenkins aus?

  1. Bauen Sie ein Projekt und stellen Sie es auf einem Testserver
  2. Run Tests
  3. Wenn die Tests fehlschlagen, ein Rollback auf den Server auf die vorherige Version
  4. Wenn die Tests erfolgreich sind, aktualisieren Sie die Version in unserem Quellkontrollsystem

Weil wir einen einzigen Test-Server haben, müssen wir sicherstellen, dass Jenkins nur r eine einzelne Version dieses Jobs zu einer Zeit aufheben. Leider können wir anscheinend keine Möglichkeit finden, einen Job bei einem Fehler auszuführen und verhindern, dass der Upstream-Job ausgeführt wird, während der Downstream-Job ausgeführt wird.

Gibt es eine einfache Möglichkeit, dies zu tun? Gibt es einen besseren Weg?

Antwort

5

Mit der Jenkins Post Build Task können Sie Aufgaben in einem Job nach einem Fehler ausführen. Das Zurückrollen des Servers klingt eher nach einer Aufgabe als nach einem Job, so dass es vielleicht passt.

Ansonsten gibt es ein paar Plugins, die komplexere Pipelining-Funktionen ermöglichen. Die Pipeline Plugin scheint derzeit die beliebteste zu sein.

0

In Job-Konfiguration, unter Erweiterte Projektoptionen (kurz vor dem SCM Teil) auf die Erweitert ... Taste. Sie können wählten jetzt Block build when upstream/downstream is executing

Was bedingte Schritte bei einem Fehler ausgeführt wird:
- Verwenden Sie Post Build Tasks wie Paul vorgeschlagen, oder
- Konfigurieren Logik Conditional Build steps

Verwandte Themen