2013-02-15 9 views
5

Ich benutze mehrere Konfigurationsjob mit sequenzieller Ausführung. 2 Achse: - Slaves - benutzerdefiniertemulti-konfiguration jenkins jobauftrag

Jenkins meine Jobs in "random" Auftrag ausgeführt werden.

Gibt es eine Möglichkeit, diese Reihenfolge zu beheben? Warum verwendet jenkins nicht die Reihenfolge der verwendeten definierten Variablen (erste Zeile zuerst)? einmal pro Achse Wert

Grüße

Antwort

1

Gemäß Seite 267 von Jenkins: The Definitive Guide von John Smart, Jenkins die Werte einer Achse in der gleichen Weise wie Parameterwerte verwenden, aber wenn der Auftrag ausgelöst wird ausgeführt.

Die Reihenfolge für diese Werte ist nicht festgelegt (und kann zufällig sein; ich bin mir nicht sicher). Vermutlich sind die Annahmen hier, dass es genug Build-Slaves gibt, dass jede Permutation von einem anderen Slave gehandhabt werden kann und dass die Reihenfolge der Permutationen keine Rolle spielt. Ich sage Permutationen, denn wenn es mehr als eine Achse gibt, entspricht die Gesamtzahl der Builds dem kartesischen Produkt der Achsen.

Ein mehrachsiges Szenario enthält wahrscheinlich die Antwort, warum es keine Möglichkeit gibt, die Reihenfolge in einer benutzerdefinierten Achse anzugeben: Es wäre kompliziert und, wenn die Build-Slaves verteilt sind, nicht sehr nützlich. Jenkins kümmert sich aus gutem Grund einfach nicht um Achsenbestellungen. Der einfache Fall einer Achse und eines Build-Slaves, bei dem die Reihenfolge tatsächlich von Bedeutung sein könnte, ist im Wesentlichen ein Kantenfall.

2

Hierfür kann die Matrix configuration sorter plugin [1] verwendet werden. Nach der Installation des Plugin, erhalten Sie eine Option Execution order of builds, mit den folgenden Werten zur Auswahl:

  • Hat ersten nicht
  • Geschätzte Dauer der Build (Längstes)
  • Geschätzte Dauer der Build (kürzeste Pflege)
  • Last Achse bestellen

die letzte Option wählen, sollten die Arbeitsplätze, die Art und Weise bestellen sie in der Achse angegeben sind, nur wenn für die letzte.

[1] https://wiki.jenkins-ci.org/display/JENKINS/Matrix+configuration+sorter+plugin