Jenkinsfile TRY-Catch

Jenkinsfile TRY-Catch

Bloki próbne w Jenkins są sposobem radzenia sobie z wyjątkami, które można rzucić podczas wykonywania rurociągu Jenkins. Pozwalają nam zdefiniować blok kodu i określić osobne bloki do wykonania, jeśli wyjątek zostanie wyrzucony.

Może to być przydatne do obsługi określonych warunków błędów i podejmowania odpowiednich działań, takich jak ponowne ponowne nieudana kompilacja lub rejestrowanie komunikatu o błędzie.

Jenkins próbuje złapać bloki

Aby użyć bloków wypróbowania w Jenkins, możemy użyć bloku skryptu i zdefiniować kod groovy w tym bloku.

Poniżej pokazuje składnię bloków prób i przybijania, których możemy użyć w Jenkins:

próbować
// blok kodu do przetestowania
Catch (wyjątek e)
// Wykonaj, jeśli dowolny wyjątek zostanie wyrzucony

W bloku próbnym możemy umieścić dowolny kod, który chcemy wykonać. Jeśli podczas wykonywania zostanie wyrzucony wyjątek, rurociąg przejdzie do bloku połowowego, który określa kod do wykonania w przypadku wyjątku

Możemy również określić określony rodzaj wyjątku, który można złapać, ustawiając go w bloku połowowym. Na przykład:

próbować
// blok kodu do uruchomienia
catch (ioException e)
// Wykonaj, jeśli wyrzucone jest IoException

Może to być przydatne, jeśli chcemy inaczej obsługiwać różne typy wyjątków. Na przykład możemy chcieć ponówić kompilację, jeśli się nie powiedzie z powodu błędu sieci, ale zarejestruj komunikat o błędzie i wyjść, jeśli się nie powiedzie z powodu błędu składni.

Jak poradzić sobie z wieloma wyjątkami

Możemy użyć wielu bloków połowowych, aby obsłużyć różne rodzaje wyjątków. Na przykład:

próbować
// blok kodu do przetestowania
catch (ioException e)
// Wykonaj, jeśli wyrzucone jest IoException
catch (nullPoInterException e)
// Wykonaj, jeśli wyrzucone jest NullPointerException

W takim przypadku, jeśli zostanie wyrzucone IoException, kod w pierwszym bloku połowowym zostanie wykonany. Jeśli zostanie wyrzucone przejęcie nullPointerException, kod w drugim bloku połowowym zostanie wykonany.

W końcu blok

Ponadto, aby spróbować złapać bloki, możemy również użyć bloku wreszcie, aby określić kod, który powinien być wykonywany niezależnie od tego, czy wyjątek zostanie wyrzucony.

Na przykład następująca składnia pokazuje wykorzystanie bloku wreszcie w rurociągu Jenkins:

próbować
// blok kodu
Catch (wyjątek e)
// Wykonaj wyjątek
Wreszcie
// Wykonaj niezależnie od tego, czy wyjątek jest rzucony

Kod w bloku ostatecznie zostanie wykonany po bloku próbnym i wykonano wszelkie bloki połowowe. Może to być przydatne do czyszczenia zasobów lub wykonywania innych zadań, które należy wykonać niezależnie od tego, czy wyjątek został rzucony.

Przykładowe użycie

Poniższy przykład rurociąg pokazuje, w jaki sposób możemy użyć bloków prób i przybijania w rurociągu Jenkins:

rurociąg
agent dowolny
Etapy
etap ('monit o wejście')
kroki
skrypt
def UserInput
UserInput = Wejście komunikat: „Wprowadź wartość:”, id: „User_input”
próbować
echo „Wejście użytkownika: $ userInput”
Catch (wyjątek e)
userInput = Wejście komunikat: „nieprawidłowe wejście. Wprowadź prawidłową wartość: ', id:' user_input '
Postuj (3)





W tym deklaratywnym rurociągu blok skryptu zawiera kod groovy, który zachęca użytkownika do danego wejścia. Jeśli nie zostanie dostarczone żadne dane wejściowe, skrypt ponownie ponowna monitor.

Wniosek

W tym artykule dowiedzieliśmy się, jak korzystać z bloków wypróbowania w rurociągu Jenkins, aby obsłużyć wyjątki.