2014-05-21 4 views
20

festlegen Ich versuche, ein Skript zum Erhöhen der Build-Nummer meines Xcode-Projekts einzurichten. Ich mache einen API-Aufruf, um die aktuelle Build-Nummer zu erhalten, dann wollte ich sie erhöhen und diese neue Nummer als Umgebungsvariable anwenden, damit das Xcode-Plugin sie verwenden kann.Wie Jenkins Umgebungsvariable aus Skript

Ich habe das EnvInject-Plugin installiert, aber ich weiß nicht, wie ich die Variable aus meinem Shell-Skript in eine Umgebungsvariable bekommen kann.

APP_BUILD_NUMBER=$(curl --request GET 'https://api.domain.com/api/GetBuildNumber') 
APP_BUILD_NUMBER=$((APP_BUILD_NUMBER +1)) 

Dies setzt APP_BUILD_NUMBER auf den Wert ich brauche, aber wie kann ich diese Variable auf eine Umgebung zuweisen, damit ich es später in meinem Job zugreifen kann?

Antwort

44

Fügen Sie einen Build-Schritt hinzu, um die Shell auszuführen - geben Sie dort APP_BUILD_NUMBER ein und geben Sie sie in die Datei aus, z.

APP_BUILD_NUMBER=$(curl --request GET 'https://api.domain.com/api/GetBuildNumber') 
APP_BUILD_NUMBER=$((APP_BUILD_NUMBER +1)) 
echo APP_BUILD_NUMBER=$APP_BUILD_NUMBER > build.properties 

dann Build-Schritt Inject Umgebungsvariablen hinzufügen und setzen dort Eigenschaften Dateipfad-$WORKSPACE/build.properties

nach diesem $APP_BUILD_NUMBER ist zugänglich in allen Schritten nach wie Umgebungsvariable bauen; z.B. in Xcode Build-Schritt

+1

Bitte beachten Sie, dass die https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin Plugin nicht Pipeline-Syntax unterstützt. – mattes