11

Mam dwa skrypty w kroku pre-build w pracy Jenkins, pierwszy skrypt perl, drugi system groovy skrypt przy użyciu groovy wtyczki. Potrzebuję informacji z pierwszego skryptu Perla w moim drugim groovym scenariuszu. Myślę, że najlepszym sposobem byłoby ustawienie zmiennej środowiskowej i zastanawiałem się, jak można to zrealizować.Jak programowo ustawić zmienną środowiskową w Jenkins/Hudson?

Lub w jakikolwiek inny lepszy sposób.

Dzięki za poświęcony czas.

+0

To pytanie dotyczy zmiennych środowiskowych związanych z projektem, ale w przypadku globalnych zmiennych środowiskowych patrz [ta odpowiedź] (http://stackoverflow.com/a/39004253/2074605). – vallismortis

Odpowiedz

11

Sposób propagacji zmiennych środowiskowych wśród kroków kompilacji odbywa się przez EnvInject Plugin.

Oto niektóre wcześniejsze odpowiedzi, które pokazują, jak to zrobić:

W twoim przypadku, jednak może to być prostsze po prostu napisać do pliku jeden krok kompilacji i odczytaj ten plik w innym. Aby upewnić się, że nie przeczytasz przypadkowo poprzedniej wersji pliku, możesz wprowadzić BUILD_ID w nazwie pliku.

2

Przy użyciu EnvInject Plugin z konfiguracji zadania należy użyć Inject environment variables to the build process/Evaluated Groovy script.

W zależności od konfiguracji można wykonać polecenia Groovy lub shell i zapisać go w map zawierających zmienne środowiskowe:

Przykład

Przy obu uzyskiwanie wyniku poleceń z execute metody:

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

lub z Groovy odpowiednik, jeśli taki istnieje:

return [DATE: new Date()] 
Powiązane problemy