Herstellung Jenkins (Hudson) Jobs hängt von einem anderen Job
-
28-09-2019 - |
Frage
Ich habe zwei Aufgaben:
- Hochladen
- Start-Instanz
Ich mag machen Start-Instanz abhängig von der anderen, so dass auslösenden Start-Instanz automatisch bewirkt, dass Hochladen zum ersten ausgeführt werden .
Kann ich erreichen dies mit Hilfe der integrierten in Jenkins verfügt oder mit einem Plugin?
Beachten Sie, dass ich nicht wollen Hochladen immer Trigger Start-Instanz , das ist, was die "Build nach anderen Projekten gebaut werden" Option auf Start-Instanz tun würde. Was ich will, ist mehr analog wie depends
Attribut funktioniert in Ant .
Lösung
Haben Sie versucht, die Parametrisierte Trigger-Plugin ?
Sie können es als Build-Schritt verwenden, und das Kontrollkästchen markieren für „Block, bis die ausgelösten Projekte beenden ihre baut“. Das sollte genau das, was Sie suchen.
Andere Tipps
Aha, es gefunden! Hier baue ich auf Miki Antwort , die die Art und Weise gezeigt, aber dies nicht in vollem Umfang für mich lösen.
Wie heißt es in der spanischsprachige Artikel über Start Hudson baut , die aus den Kommentaren von Hudsons verlinkt Fernzugriff API dass Miki verknüpft:
En la sección " Build-Trigger " [...] marcamos la opción „ Trigger baut der Ferne (z.B. von Skripten) “. Al marcar esta opción vemos como aparece el cuadro de texto "Authentication Token". Aquí pondremos el nombre del Token de autenticación.
(Quelle: adictosaltrabajo.com )
(Es scheint, die Vorteile Spanisch zu wissen, beginnen zu materialisieren ...: -)
So stellt sich heraus, Hudson bietet eine praktische eingebaute Option für die Auslösung der Ferne aufbaut. In Build-Trigger (von Hochladen Job in meinem Fall), können Sie aktivieren bauen Fern und eine Auth-Token (siehe Screenshot oben). Dann können Sie einen Build starten, indem Sie einen bestimmten URL den Zugriff auf diese Token enthält. In meinem Fall ist der erste Build-Schritt von Start-Beispiel sieht aus wie:
wget http://[hudson-url]/job/Upload/build?token=TEST
sleep 10
Dies funktioniert auch, wenn anonyme deaktiviert baut und einfach versuchen, die Build-URL zugreifen würde „403 Forbidden“ ergeben.
via wget abhängigen Job Laufen ist keine allgemeine Lösung. Da Arbeitsplätze asynchornnously Ihr Einführungs-Job ausgeführt werden nicht hängen und für Hochladen Job für einen Abschluss warten. Schlaf mit nur ein schmutziger Hack und ist keine Option für die meisten Fälle ... IMHO ist die beste Lösung zu verwenden: http://wiki.jenkins-ci.org / Anzeige / JENKINS / Join + Plugin
Sie können die vor- oder nachgelagerten Abhängigkeiten verwenden. Sie sollten „Build-Trigger“ verwenden -> Erstellen Sie nach anderen Projekten gebaut werden und / oder Post-Build-Aktionen im configure Teil des Projektes.