Frage

Das fängt an, mich verrückt zu fahren. Aber es scheint, als ob ich nicht Glück bin, es von mir selbst herauszufinden: /

Ich muss einen Mechanismus einrichten, um den String-Wert zwischen zwei Slaven zu teilen, beispielsweise mit dem Namen Slave A und Slave b .

Derzeit am nächsten ist das, was ich gefunden habe, ist dies so Frage: Jenkins Slave-Umgebung Variable Aktualisieren

Ziel ist es jedoch, den Zugriff in Buildscripts zu aktivieren, nicht in der Slaves-Umgebungvariablen selbst. (In Verbindung stehende Frage: Wie sind Umweltvariablen verwendet? In Jenkins mit Windows-Batch-Befehl? )

Derzeit habe ich dieses Setup:

1) auf a der Job a wird ausgelöst.

es führt diesen Windows-Batch-Code aus (tatsächliche Pfade, offensichtlich, werden mit '<>' ersetzt): generasacodicetagpre.

ziemlich selbsterklärend und geradlinig imho.

2) Der Job auf a hat ein Upstream-Job B , das auf erfolgreiche Build ausgelöst wird. Also, in dem Sklaven b erstellt der b den batch-code (tatsächliche Pfade, offensichtlich, werden mit '<>' ersetzt): generasacodicetagpre.

HINWEIS: RESETVARS.BAT und RESETVARS.VB wird so entnommen, dass er so fraglich ist: Gibt es einen Befehl, um Umgebungsvariablen von der Eingabeaufforderung in Windows zu aktualisieren?


die Ausgabe (% HOR_UPSTREAM_ID% und% HOR_UPSTREAM_ID% -E-Werte), ist immer noch veraltet ... Nur Möglichkeiten, neue Variablen erfrischt zu erhalten, besteht darin, diesen DARN Jenkins-Dienst neu zu starten, aber dies ist definitiv nicht in der CI-Umgebung ...

Die Frage jetzt Oberflächen - So machen Sie diese Variablen, um erfrischt zu werden / erneut zu lesen, wenn der Build-Job B auf b ausgelöst wird, sodass ich auf Systemvariablen zugreifen konnte Von Slave ohne Verwendung, zum Beispiel Envinject-Plugin?


Eine andere, so eine Frage und Antwort, die Benutzerinteraktion benötigt, daher in meinem Fall nicht akzeptabel: jenkins - Übergeben von Variablen zwischen Jobs?


Dies funktioniert auch nicht in meinem Fall: http:// comments.gmane.org/gmane.Comp.java.hudson.user/37897


Vielleicht erhalten der Slave und sein entsprechender Knoten möglicherweise nicht variabel / lösen sein Umfeld Coreftly nicht, wodurch das Informationsformular Global EnvirtonMTN-Variablen nicht abgerufen werden kann? Cechkierte es und plötzlich interessant einige interessante -umgebungsvariable config-Daten kollte mein Auge:

node_labels | ein Prodrelease

node_name | a

... dies ist für den Sklaven b , aber es sollte unterschiedliche Werte sein, da dies ursprünglich für Sklave a ist ... was für eine Hölle ????? ???????????????Session !!!! : /

Ich fange an, das Gefühl zu haben, dass das Root-Problem ist, dass Jenkins Fehler hat, wenn mehrere Slave-Knoteninformationen aufgelöst werden.

beschlossen, ein Problem @ Jenkins Jira zu erstellen: https://issues.jenkins- ci.org/browse/jenkins-15397

War es hilfreich?

Lösung

Haben Sie sich das Hinzufügen von parametriertem Trigger-Plugin angesehen?

https://wiki.jenkins-ci.org/display/Jenkins / Parametrisierte + Trigger + Plugin

Hiermit kann es Ihnen ermöglichen, Parameter vom ersten Job bis zum zweiten (wie den Auftragsnamen zu löschen) übertragen.

Andere Tipps

Ich glaube, Sie suchen Jenkins Parametricized Builds! Folgen Sie den Anweisungen hier , und Sie werden aufstehenund in no-time läuft!

scheint dies zu erscheint (https://issues.jenkins-ci.org/browse/jenkins-6604) fixierte die folgenden Änderungen:

  • Inpossibilität behoben, um mehr als einen Slave in der Windows 2K8 (R2) X64 (Rechenanzeige) installieren;
  • Inpotierbarkeit behoben, um Werte richtig zu lösen.Das Setup wurde nicht geändert ... aber es scheint, als ob alle Anmeldungen den Trick getan haben.
  • hat wahrscheinlich die Tool-Umgebungseinstellungen als Node_Labels und NODE_NAME nicht in Systeminformationen Config anymore XD geladen.D

    Für Referenz ist das JIRA-Problem, das ich erstellt habe, noch offen ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top