Sie erwähnen, dass Sie eine Umgebungsvariable DATE
in ein Shell-Skript exportieren, das vermutlich über einen Schritt "Shell ausführen" gestartet wird.
Das Problem ist, dass, sobald der Shell-Schritt abgeschlossen ist, diese Umgebung verschwunden ist - die Variablen werden nicht auf nachfolgende Build-Schritte übertragen.
Wenn Sie also später versuchen, den $DATE
-Wert zu verwenden - ob in einem anderen Build-Schritt oder als Parameter für einen anderen Job -, wird diese bestimmte Umgebungsvariable nicht mehr existieren.
Sie können stattdessen EnvInject plugin verwenden, um Umgebungsvariablen während eines Builds zu exportieren. Variablen, die mit diesem Plugin eingerichtet werden, sind für alle nachfolgenden Build-Schritte verfügbar.
Zum Beispiel könnten Sie die DATE
auf ein Eigenschaftenfeld in einem Build-Schritt schreiben:
echo DATE=$(date +%Y-%m-%d) > env.properties
Dann können Sie eine bauen Schritt „Umgebungsvariablen für Ihren Job Inject“ hinzufügen, und geben Sie env.properties
im " Feld "Pfad" der Eigenschaft "Umgebungseigenschaften".
Auf diese Weise wird die DATE
Variable (und alles andere in dieser Eigenschaftendatei) exportiert und ist für den Rest der Build-Schritte sichtbar.
Es ist unklar, was Sie sagen - stellen Sie 'DATE' als Parameter ein, oder exportieren Sie' DATE' von einem "Execute Shell" -Bauschritt? –
Hallo, ich versuche, es aus dem Skript zu exportieren, das innerhalb Jenkins-Job zu demselben Jenkins-Job ausgeführt wird. – user3232823