2014-05-21 9 views
20

Próbuję skonfigurować skrypt, aby zwiększyć numer kompilacji mojego projektu Xcode. Wykonuję wywołanie API, aby uzyskać bieżący numer kompilacji, a następnie chciałem go zwiększyć i zastosować nowy numer jako zmienną środowiskową, aby wtyczka Xcode mogła z niego korzystać.Jak ustawić zmienną środowiskową Jenkinsa ze skryptu

Mam zainstalowaną wtyczkę EnvInject, ale nie wiem, jak pobrać var ​​z mojego skryptu powłoki do zmiennej środowiskowej.

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

Ustawia APP_BUILD_NUMBER do wartości muszę, ale jak mam to przypisać do zmiennej środowiskowej, więc dostęp do niego później w mojej pracy?

Odpowiedz

44

Dodaj krok kompilacji, aby wykonać powłokę - w tym celu określ APP_BUILD_NUMBER i wypisz do pliku, np.

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 

następnie dodać build step wstrzyknąć zmienne środowiskowe i ustawić tam Właściwości ścieżka pliku do $WORKSPACE/build.properties

po tym $APP_BUILD_NUMBER jest dostępny we wszystkich etapów budowy, jak po zmiennej środowiskowej; na przykład w Xcode build kroku

+1

Należy pamiętać, że wtyczki https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin nie obsługuje składni rurociągu. – mattes