Nachdem wir Jenkins installiert und grundlegend eingerichtet haben, kümmern wir uns nun um die Erstellung eines Build-Jobs.
Am einfachsten richten wir uns zuerst den Job mit einem Jenkinsfile ein. Diese Datei beschreibt den Prozess, wie das Projekt korrekt erstellt wird. Da diese Datei ebenfalls im Git-Repository abgelegt wird, kann jeder Entwickler das Skript anpassen, sofern es nötig ist und Änderungen nachverfolgen.

Um den Prozess exemplarisch zu zeigen, habe ich ein einfaches Repository vorbereitet. Der einzige Quellcode besteht aus einem „leeren“ Konsolenprojekt. Dieses ist kompilierbar und gibt „Hallo Welt“ aus.
Projekt in Jenkins anlegen
Zuerst müssen wir die Pipeline in Jenkins anlegen. Dazu öffnen wir „Blue Ocean“ und erstellen ein neues Projekt.

Aufgrund der neuen Installation sind noch keine Pipelines vorhanden. Daher erscheint ein Popup mit dem Hinweis, die erste Pipeline zu erzeugen. Mit einem Klick darauf wird die Einrichtung automatisch begonnen.

Der Dialog ist einfach aufgebaut und führt den Nutzer super durch den Erstellungsprozess.
- Zuerst wird die Quelle angegeben. In meinem Fall ist es „Git“
- Anschließend benötigen wir die URL und eventuelle Berechtigungen (Nutzername + Passwort)
- Mit dem Button „Create Pipeline“ wird die Pipeline erstellt

Wenn ihr kein Jenkinsfile in eurem Projekt habt, weist euch ein Popup darauf hin. Mit einem Klick könnt ihr die Datei erzeugen. Wir werden die Datei allerdings mit einem Editor erzeugen und per git push
im Repository speichern.
Jenkinsfile erzeugen
Im Standard heißt die Datei einfach Jenkinsfile
ohne jegliche Dateiendung. In der ersten Zeile steht pipeline
. Über agent
können Zielrechner definiert oder eingeschränkt werden. Dies ist nützlich, wenn eine Software beispielsweise nur mit einem bestimmten Betriebssystem erstellt werden kann.
Im stages
-Block werden die einzelnen Schritte definiert. Für den Schritt der Erstellung rufen wir mittels shell (sh
, da Jenkins auf Linux installiert wurde) dotnet build
auf. Unter windows stehen bat
oder powershell
zur Verfügung.
pipeline {
agent any
stages {
stage('Restore') {
steps {
sh 'dotnet restore Example/Example.sln'
}
}
stage('Build') {
steps {
sh 'dotnet build Example/Example.sln'
}
}
}
}
Der Prozess zum Klonen des Quellcodes muss nicht separat geschrieben werden. Dies geschieht automatisch. Es gibt in der Dokumentationen weitere Informationen, falls der Prozess angepasst werden muss.
Mit dem o.g. Beispiel erhalten wir folgende grafische Ausgabe:

In dieser Grafik sehen wir oben die Namen der jeweiligen Schritte. Mit einem grünen Haken wird angezeigt, ob der Schritt erfolgreich abgeschlossen werden konnte. Im Fehlerfalle gibt es ein rotes X. Die einzelnen Schritte werden unten angezeigt. Die Einträge lassen sich aufklappen, um die Konsolenausgabe einzublenden.
Mit dem Bleistift ganz oben rechts könnt ihr das Jenkinsfile
im grafischen Editor bearbeiten. Aus meiner Erfahrung, ist diese jedoch sehr rudimentär gehalten und kann manche „Fehler“ nicht korrekt verarbeiten oder behandeln.
In der Zukunft wird dieser Editor bestimmt besser und besser werden. Derzeit ist die manuelle Bearbeitung des Jenkinsfile im Editor einfacher.
Fazit
Dieser Artikel hat gezeigt, wie ein Build-Script mit Hilfe des Jenkinsfile grundlegend erstellt und eingerichtet wird. Durch sh
oder bat
können externe Programme aufgerufen werden. Viel Spaß beim Ausprobieren und Erstellen eurer Pipeline 🙂
Bildnachweis: Pixabay.com