2017-05-10 1 views
0

Ich habe Projekt in Build, die Downstream-Projekt auslöst, wenn Build erfolgreich ist. Ich benutze Jenkins parametrisierte Trigger-Plugin dafür. Dieses Projekt läuft auf zwei verschiedenen IPs, die als Parameter an diesen Build übergeben werden. Ich möchte mein Downstream-Projekt nur mit einer dieser IP laufen lassen. Wie kann ich das machen?Jenkins, wie Build ohne einen angegebenen Parameter nicht auslösen

+0

die beiden IP-Adressen statisch sind? Werden sie sich jemals ändern? – Tuffwer

Antwort

0

Wenn Sie Zugriff auf die IP-Adresse im Upstream-Job haben, können Sie das Conditional Build Step Plugin verwenden.

Sie wählen den bedingten Build-Schritt als Build-Schritt aus und legen die Bedingung fest, um zu überprüfen, ob die aktuelle IP-Adresse diejenige ist, auf der der nachgeordnete Job ausgeführt werden soll. Dieser Teil hängt davon ab, wie Sie auf die IP-Adresse zugreifen können. Wahrscheinlich haben Sie entweder einen Parameter für den Upstream-Job, der die IP-Adresse angibt, oder Sie haben ihn als Umgebungsvariable * verfügbar gemacht. In beiden Fällen werden Sie wahrscheinlich einen Stringvergleich durchführen und die hartcodierte Zeichenfolge mit der IP-Adresse mit dem Parameter/env vergleichen. Variablenwert, um festzustellen, ob sie übereinstimmen.

dann innerhalb des bedingten Schritt werden Sie die gleiche Build-Schritt (execute script, baut Trigger auf andere Projekte, etc.) wählen Sie derzeit mit dem Downstream-Build auszulösen.


* Wenn Sie ein Skript verwenden, um den Wert der IP-Adresse bestimmen Sie es in die Umwelt des Build injizieren müssen werde es nachfolgende Build-Schritte zu belichten. Siehe die second half of my answer here auf, wie man das

Verwandte Themen