Jenkinsfile – eine versionierbare Konfig

In Zeiten von DevOps wird das automatisierte Testen immer wichtiger. Für das CI (Continious Integration) hat sich Jenkins bei uns bewährt. Die Oberfläche zum Konfigurieren bietet dabei eine Vielzahl an Möglichkeiten, die man per Klick auswählen kann. Aber gerade für die Wiederverwendbarkeit und Versionierung ist dieses Konzept unvorteilhaft. Da sollte man lieber auf einen Code-basierten Ansatz setzen. Genau das bietet Jenkins mit seiner deklarativen Pipeline.

Im Rahmen eines Projektes habe ich mich mit der deklarativen Pipeline in Jenkins beschäftigt und möchte euch im Folgenden eine kurze Übersicht über das Thema geben.

Grundgerüst:

Die deklarative Pipeline wird von einem „pipeline“ Block umschlossen. Darin muss zunächst ein Agent definiert werden, auf dem die Jenkins-Instanz laufen soll.  Danach folgen einige optionale Abschnitte, wie hier „parameter“. Hier können zum Beispiel Übergabeparameter definiert werden, die beim Bauen mit angegeben werden können oder auch müssen. Weitere optionale Teile folgen in einem späteren Blogartikel zum Thema Jenkinsfile. Der eigentliche Code-Teil,  in dem die gesamte Logik geschieht, ist dann im Abschnitt „stages“ zu finden. Jeder Arbeitsschritt sollte dabei in einer eigenen, eindeutig benannten Stage ablaufen. Weitere Informationen zur Pipeline-Syntax (mit Beispielen) werden von Jenkins bereitgestellt.

Und das Beste zum Schluss: Da der Code-basierte Ansatz in einem sogenannten Jenkinsfile gespeichert wird, kann dieses direkt im Git-Repository des Projektes verwaltet werden. Um dann das Jenkinsfile nutzen zu können, muss eine neue Pipeline im Jenkins angelegt und die Pipeline-Definition „Pipeline script from SCM“ ausgewählt werden. Dann muss nur noch das entsprechende Repository festgelegt werden und schon ist die Pipeline fertig konfiguriert!

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.