Die Try-and-Catch-Blöcke in Jenkins sind eine Möglichkeit, Ausnahmen zu bewältigen, die während der Ausführung einer Jenkins-Pipeline geworfen werden können. Sie ermöglichen es uns, einen Codeblock zu definieren und separate Blöcke anzugeben, die ausgeführt werden sollen, wenn eine Ausnahme ausgelöst wird.
Dies kann nützlich sein, um bestimmte Fehlerbedingungen zu behandeln und geeignete Aktionen zu ergreifen, z.
Jenkins versuchen, Blöcke zu fangen
Um die Try-and-Catch-Blöcke in Jenkins zu verwenden, können wir einen Skriptblock verwenden und einen groovigen Code in diesem Block definieren.
Das Folgende zeigt die Syntax der Try-and-Catch-Blöcke, die wir in Jenkins verwenden können:
versuchenIm Try -Block können wir jeden Code einsetzen, den wir ausgeführt werden möchten. Wenn während der Ausführung eine Ausnahme ausgelöst wird, springt die Pipeline zum Fangblock, der den Code definiert, der bei einer Ausnahme ausgeführt wird
Wir können auch eine bestimmte Art von Ausnahme angeben. Zum Beispiel:
versuchenDies kann nützlich sein, wenn wir verschiedene Arten von Ausnahmen unterschiedlich behandeln möchten. Zum Beispiel möchten wir möglicherweise einen Build wiederholen, wenn es aufgrund eines Netzwerkfehlers fehlschlägt, aber eine Fehlermeldung protokollieren und beenden, wenn es aufgrund eines Syntaxfehlers fehlschlägt.
So behandeln Sie mehrere Ausnahmen
Wir können mehrere Fangblöcke verwenden, um verschiedene Arten von Ausnahmen zu verarbeiten. Zum Beispiel:
versuchenIn diesem Fall wird der Code im ersten Fangblock ausgeführt, wenn eine IOException geworfen wird. Wenn eine NullPointerexception geworfen wird, wird der Code im zweiten Fangblock ausgeführt.
Der endgültige Block
Um zu versuchen, Blöcke zu fangen, können wir außerdem einen endgültigen Block verwenden, um Code anzugeben.
Beispielsweise zeigt die folgende Syntax die Verwendung des endgültigen Blocks in einer Jenkins -Pipeline:
versuchenDer Code im endgültigen Block wird nach dem Try -Block ausgeführt und alle Fangblöcke wurden ausgeführt. Dies kann nützlich sein, um Ressourcen aufzuräumen oder andere Aufgaben auszuführen, die unabhängig davon, ob eine Ausnahme ausgelöst wurde.
Beispiel Verwendung
Die folgende Beispielpipeline zeigt, wie wir die Try-and-Catch-Blöcke in einer Jenkins-Pipeline verwenden können:
PipelineIn dieser deklarativen Pipeline schließt der Skriptblock einen groovigen Code ein, der den Benutzer für eine bestimmte Eingabe auffordert. Wenn keine Eingabe bereitgestellt wird, wird das Skript die Eingabeaufforderung dreimal vor dem Abbruch wiederholen.
Abschluss
In diesem Artikel haben wir gelernt, wie man die Try-and-Catch-Blöcke in der Jenkins-Pipeline verwendet, um Ausnahmen zu behandeln.