2013-10-04 18 views
15

Czy w parametrach Jenkins rozróżniana jest wielkość liter? Mam sparametryzowaną kompilację, która wymaga ustawienia parametru ant o nazwie "build_parameter" przed kompilacją. Kiedy próbuję uzyskać dostęp do zestawu $ {BUILD_NUMBER} ustawionego przez Jenkinsa, otrzymuję wartość ustawioną dla parametru ant. Jeśli w parametrach kompilacji nie jest rozróżniana wielkość liter, czy ktoś może zaproponować mi obejście tego problemu? Nie mogę zmienić nazwy parametru kompilacji, ponieważ będę musiał zmienić skrypty budowania (co nie jest opcją). Dzięki!Jenkins - jak uzyskać dostęp do zmiennej środowiskowej BUILD_NUMBER

+0

Patrz https://issues.jenkins-ci.org/browse/JENKINS-1322 –

+0

Adarsh: My build_param Zmienna eter i środowisko $ {BUILD_NUMBER} mają różne wartości. Przepraszam, że nie jest jasne. Potrzebuję sposobu na uzyskanie dostępu do wartości Jenkins $ {BUILD_NUMBER}. Jednak gdy próbuję uzyskać do niego dostęp w taki sposób, jak w przypadku zmiennych środowiskowych ($ {BUILD_NUMBER}), drukuje on inną wartość. – Anand

+0

Według mojego badania BUILD_NUMBER podaje aktualny numer kompilacji. Musisz zmienić skrypt budujący. Lub spróbuj utworzyć nową zmienną i przypisz jej wartość BUILD_NUMBER i użyj jej. –

Odpowiedz

15

Aby odpowiedzieć na pierwsze pytanie, zmienne Jenkins uwzględniają wielkość liter. Jednak jeśli piszesz skrypt wsadowy Windows, nie uwzględniają wielkości liter, ponieważ system Windows nie dba o sprawę.

Ponieważ nie bardzo wiadomo, jak wygląda konfiguracja, załóżmy założenie, że używasz kroku budowania mrówek, aby odpalić swoje zadanie z mrówkami. Spójrz na the Jenkins documentation (tę samą stronę, którą podał Ci Adarsh, ale inny rozdział) na przykład, jak udostępnić zmienne Jenkinsa dla twojego zadania mrówkowego.

EDIT:

Stąd będę mieć dostęp do zmiennej $ środowisko {BUILD_NUMBER} skonstruować URL.

Dlaczego nie użyć $BUILD_URL? Czy nie jest dostępny w rozszerzonej wtyczce e-mail?

+0

Peter: Proszę odnieść się do mojego komentarza powyżej, aby odpowiedzieć na pytanie Sagara. Potrzebuję uzyskać wartość zmiennej środowiskowej $ {BUILD_NUMBER}, jednak przypuszczam, że jest ona nadpisywana przez inny parametr (parametr małej litery). Używam Mac OS i nie używam tych parametrów w żadnym skrypcie Bash. Wszystko, co próbuję zrobić, to użyć go w treści wiadomości e-mail z rozszerzonym powiadomieniem e-mail. – Anand

+0

Peter: Dzięki za twoją sugestię. Wypróbowałem $ {BUILD_URL} po sugerowaniu. To prowadzi mnie do strony kompilacji. Czy istnieje sposób skierowania go bezpośrednio do artefaktu, aby rozpocząć pobieranie artefaktu bezpośrednio z linku w wiadomości e-mail? – Anand

+3

To $ {BUILD_URL}/artefakt/<ścieżka_do_artykatury> –

5

Zakładając mam zrozumienia zapytanie i poprawnie ustawiony,

Jeśli próbujesz użyć numer kompilacji w skrypcie, trzeba opcji:

1) Dzwoniąc ant, przeznaczenie: ant -Dbuild_parameter=${BUILD_NUMBER}

2) Zmień skrypt tak, aby:

<property environment="env" /> 
<property name="build_parameter" value="${env.BUILD_NUMBER}"/> 
+0

Sagar: Używam sparametryzowanej opcji kompilacji, aby użytkownik wprowadził parametr build_number (uwaga: jest w lower_case), a następnie używa go w moim skrypcie ant. Muszę jednak wysłać wiadomość e-mail z lokalizacją artefaktu jako adresem URL. W związku z tym będę musiał uzyskać dostęp do zmiennej środowiskowej $ {BUILD_NUMBER}, aby utworzyć adres URL. Teraz użytkownik wprowadził parametr $ {numer_budowy}, a zmienna środowiskowa $ {BUILD_NUMBER} jest inna. Ale jeśli dodaję $ {BUILD_NUMBER} do adresu URL, zawsze zajmie on wartość zapisaną w $ {numer_budowy}. – Anand

+0

Aah ok. W takim przypadku, dlaczego nie zmienisz "build_number" na "build.number" na liście parametrów. Nadal ma to samo znaczenie i ludzie nie będą go mylić z niczym innym; w tym samym czasie będzie zupełnie inny niż BUILD_NUMBER. Nie jestem pewien, czy jest niewrażliwość na wielkość liter (czy to twój serwer, czy klient w systemie Windows?), Ale byłoby to najlepsze wyjście. Nadal możesz używać punktu 1 lub 2 powyżej, aby dopasować wewnętrzne zmienne skryptu do parametrów i zmiennych środowiskowych. – Sagar

Powiązane problemy