Jenkins Projekt einrichten

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.

Die Ordnerstruktur des Beispielprojekts
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.

Öffnen von Blue Ocean
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.

Startbildschirm aufgrund fehlender Konfigurationen
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

Dialog zum Erstellen einer Pipeline
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:

Das Ergebnis der Buildausgabe
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