11

Ich habe zwei Skripte im Pre-Build-Schritt in einem Jenkins-Job, der erste ein Perl-Skript, der zweite ein grooviges System-Skript mit dem groovigen Plugin. Ich brauche Informationen aus dem ersten Perl-Skript in meinem zweiten groovigen Skript. Ich denke, der beste Weg wäre, eine Umgebungsvariable zu setzen, und ich frage mich, wie das realisiert werden kann.Wie programmiere ich eine Umgebungsvariable in Jenkins/Hudson?

Oder ein anderer besserer Weg.

Danke für Ihre Zeit.

+0

Diese Frage betrifft projektspezifische Umgebungsvariablen, aber für globale Umgebungsvariablen lesen Sie bitte [diese Antwort] (http://stackoverflow.com/a/39004253/2074605). – vallismortis

Antwort

11

Der Weg zur Verbreitung von Umgebungsvariablen zwischen Build-Schritten ist über EnvInject Plugin.

Hier sind einige frühere Antworten, die zeigen, wie es geht:

In Ihrem Fall ist es jedoch nur einfacher sein kann, in eine Datei zu schreiben, in ein Build-Schritt und lies diese Datei in einem anderen. Um sicherzustellen, dass Sie nicht versehentlich von einer früheren Version der Datei lesen, können Sie BUILD_ID in den Dateinamen aufnehmen.

2

Mit EnvInject Plugin von Job-Konfiguration sollten Sie Inject environment variables to the build process/Evaluated Groovy script verwenden.

Je nach Konfiguration können Sie Groovy oder shell Befehl und speichern Sie sie in der Karte enthalten, Umgebungsvariablen ausführen:

Beispiel

von beiden bekommen Befehl Ergebnis mit execute Methode:

return [DATE: 'date'.execute().text] 

oder mit Groovy entspricht, wenn eines existiert:

return [DATE: new Date()]