2013-08-23 40 views
9

Mam problem z Hudsonem, ponieważ moja praca wymaga dwóch parametrów dla kompilacji pierwsza określa środowisko i może być jednym z DEV, QA, PROD, i drugi jest określonym serwerem, ten parametr zależy od pierwszego.Sposób uzyskania parametru zależy od innego parametru w Hudson lub Jenkins

Przykładowo, jeśli wybrałem DEV środowiska, drugim parametrem może być tylko DEV1, DEV2, MAQ1 . Nie mam pojęcia, czy istnieje wtyczka z tą funkcjonalnością, czy muszę zrobić coś z groovy. Nie wiem, pomóż mi.

Dziękuję

+0

Co oznacza tutaj środowisko? Jak uzyskać środowisko, które wybierzesz w kroku 2? –

+0

To jest pytanie, mam 2 parametry i drugi parametr zależy od pierwszego parametru, jeśli zapomnisz nazwy parametrów –

Odpowiedz

3

Wygląda na to, że Jenkins ładuje listę parametrów do wyboru po otwarciu strony "budowanie projektu". Podczas wybierania parametru nie występuje również żadne wywołanie zwrotne.

W takim przypadku trudno będzie ograniczyć drugi parametr na podstawie pierwszego bez javascript i niestandardowej wtyczki.

ja również spojrzał na te:

Prosiłbym listę Jenkins użytkownika, aby uzyskać więcej informacji.

0

Można spróbować EnvInject Plugin.

Najpierw należy umieścić pierwszy parametr w pliku ustawień. Następnie wtyczka może odczytać z pliku. Krok drugi, wygenerować drugi parametr za pomocą własnego skryptu.

+0

Dzięki Johnny, mogę odczytać parametr z pliku, ale problem jest: skrypt wykonuje się tylko wtedy, gdy strona z parametrami to ładunek, a nie kiedy zmieniam wartość tego parametru. –

0

Wpadłem na podobne problemy. Mam parametr dla środowiska Dev1, Dev2, ..... i drugi dla serwera, na którym muszę uruchomić zadanie. Mogę obliczyć drugi z pierwszego, ale wtedy zadanie już działa i nie mogę go już przenieść na inny serwer.

Tak więc skończyłem na posiadaniu dwóch parametrów z wszystkimi możliwymi opcjami i uczeniem użytkowników, aby wybierać tylko prawidłowe kombinacje. Mogę przetestować podczas wykonywania skryptu, czy kombinacja jest prawidłowa. Dodałem również małą tabelę html do komentarza jednego z parametrów, który zawiera prawidłowe kombinacje.

W twoim przypadku, czy możesz obliczyć wartość pierwszego parametru z wartości drugich parametrów? Wtedy będziesz w stanie obliczyć (jeśli nadal będzie to konieczne) wartość pierwszego parametru, zapisz go w tymczasowym pliku właściwości i załaduj go z EnvInject plugin w późniejszym kroku kompilacji.

11

Dobra wtyczka (wymagana jest wtyczka UpdateSites Manager i rejestracja biouno update site) to uno-choice plugin (i przyjaciele).

Wtyczka pozwala na nie tylko więcej niż dwa poziomy zależności, ale może generować zawartość dynamiczną dla parametrów, które zależą od poprzednich danych wejściowych przy użyciu skryptora lub wbudowanego groovy.

To jest z pewnością znacznie więcej niż zdolnych niż poprzednie odpowiedzi.

+1

AMAZING Plugin! –

+0

wygląda jak plugin Uno-Choice jest teraz wtyczką Active Choices. Zobacz odpowiedź @ kool79 i komentarz autora wtyczki. – coderatchet

8

Wypróbuj Active Choices Plugin. Jest to druga nazwa wtyczki Uno-Choice, ale znajduje się w oficjalnym repozytorium Jenkins i nie wymaga wtyczki UpdateSites Manager. (Obie wtyczki mają tego samego autora). Plugin ma świetną dokumentację z przykładami (i demonstracją gif) na stronie opisu wtyczki.

+0

Wtyczka zaczęła się jako Uno Choice (patrz odpowiedź @ thenaglecode), a następnie zdecydowaliśmy się udostępnić każdemu użytkownikowi Jenkins. Społeczność głosowała za zmianą nazwy, a Ioannis zaproponował Active Choices, co zostało dobrze przyjęte. Dokumentacja i gify, także kudos do Ioannisa za to :-) –