Jenkins: Setzen der env-Variable aus dem Shell-Skript

8

Ich habe ein Bash-Skript, das ich aus einem Jenkins-Job heraus ausführe, mit "execute shell". Das Skript startet eine EC2-Instanz und legt eine host -Variable fest, die den Hostnamen der neuen Instanz enthält.

Ich möchte den Hostnamen der neuen Instanz (Skriptvariable: host ) auf eine Jenkins-Umgebungsvariable setzen, damit ich sie an einen nachgelagerten Job übergeben kann (möglicherweise mithilfe des Build-Flow-Plugins).

Irgendeine Idee, wie man das macht?

Danke

    
Luciano Fiandesio 21.02.2013, 10:20
quelle

2 Antworten

8

Ich habe am Ende eine Datei verwendet, um Daten zwischen Builds zu propagieren. Der erste Build erstellt eine Datei mit den Informationen, die ich weitergeben muss (Hostname der neu erstellten EC2-Instanz). Die Datei sieht folgendermaßen aus:

%Vor%

Ich benutze das EnvInject-Plugin, um die Datei zu lesen und die Eigenschaften zu injizieren, die dann im nächsten Build verfügbar sind (ich verwende das Build Flow Plugin, um Builds zu orchestrieren).

    
Luciano Fiandesio 20.03.2013, 08:07
quelle
2

Es gibt ein Plugin, das Sie installieren können, um Ihre Variable zu injizieren: EnvInject Plugin

Wenn ich Ihr Problem verstanden habe, denke ich, dass dieses einfache Plugin das ist, was Sie brauchen.

    
Vargan 21.02.2013 10:25
quelle