6
erstellen

Ich habe mehrere Projekte in Jenkins konfiguriert, die Abhängigkeiten voneinander haben (mit der Option "Build nach"). Jetzt möchte ich, dass jedes Projekt wartet, bis alle Abhängigkeiten abgeschlossen sind, bevor sie mit der Erstellung beginnen.Jenkins: Warten Sie auf mehrere Projektabhängigkeiten zu beenden, bevor Sie

Beispiel:

Project: A 
Project: B - Depencies: A 
Project: C - Depencies: A, B 

Als ich ein bauen, dann baut sich der von B und C ausgelöst. Allerdings möchte ich C erst nach A und B bauen lassen. Stattdessen wird Projekt C im Moment zweimal erstellen, sobald A beendet ist, und ein zweites Mal, nachdem B beendet ist.

Wie kann ich Jenkin-Projektabhängigkeiten so konfigurieren, dass ich dies erreichen kann?

Ps.

Bevor jemand das Join-Plugin erwähnt: Ich habe es angeschaut und kann nicht sagen, dass es eine befriedigende Lösung ist.

+0

Dies ist ein Problem, das Maven (und ähnliche Technologien wie Ant Ivy) lösen soll. Jeder Build wird durch die Verwendung eines gemeinsam genutzten Archivs von eingebauten Artefakten voneinander unabhängig gemacht. Build-Server wie Jenkins sind in der Lage, die Build-Reihenfolge zu bestimmen und Downstream-Builds automatisch zu starten, die vom neuesten Artefakt eines bestimmten Builds abhängen. Nicht eine einfache Antwort auf Ihre Frage, aber etwas zu beachten, sonst stecken Sie fest mit dem Join-Plugin :-( –

+0

Nein, der einzige Weg, um dieses Problem mit Maven zu lösen wäre, sie alle Submodule eines einzigen Projekts zu machen Jenkins wird die absolute Build-Reihenfolge nicht aussortieren.Wenn Sie Jenkins so konfigurieren, dass er von einem Build des neuesten Artefakts ausgelöst wird, tritt das beschriebene Problem immer noch auf. – dstibbe

+0

Überprüfen Sie den Maven-Doco. Siehe "Automatische Build-Verkettung .." Abschnitt des Jenkins doco: https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project Sehr nützlich, wenn Entwickler-Projekte Momentaufnahmen anderer Projekte verwenden, ohne diese Funktion die Verwendung von Maven Schnappschüsse ist sehr fraglich.Ein großes Plus für die Verwendung von Jenkins.Only –

Antwort