Erster Jenkins Build-Job

Der erste Build-Job für Jenkins soll ganz einfach sein und die prinzipielle Vorgehensweise und die Funktion von Jenkins verdeutlichen. Der erste Build-JOb soll folgende Schritte durchführen:

  • Zugriff auf das Java-Projekt (webproject) im zentralen GIT-Repository
  • Kompilieren des Java-Programms
  • Ausführen des Java-Programms

Neues Java-Projekt

Für einen ersten Build-Job mit Jenkins benötigen wir ein einfaches Java-Projekt mit einem Main-Programm, dass in der Konsole “Hallo Welt” ausgeben soll. Dazu erstellen wir uns zuerst ein neues Java-Projekt in Eclipse mit File -> New -> Java Project und nennen es z.B. WebProject.

Java-Projekt anlegen

Java-Projekt anlegen

Danach legt ihr mit File -> New -> class eine neue Java-Klasse an. Als Package-Name gebt ihr z.B. myJava und als Name der Klasse z.B. JenkinsTest ein. Klickt noch die Checkbox public static void main an, damit ihr das Programm ausführen könnt.

JAVA-Main-Klasse

JAVA-Main-Klasse

Dann gebt ihr in der Methode main der neuen Klasse noch “Hello world” aus. Das Programm könnt ihr in Eclipse mit Run -> Debug as -> Java Application bereits ausführen.

Hello world

Hello World

Danach müsst ihr das Projekt, wie unter GIT-Versions-Verwaltung beschrieben, in das zentrale GIT-Repository auf den Raspberry übertragen. Sobald das Projekt auf dem Server ist, können wir mit dem Anlegen des ersten Build-Job für Jenkins starten.

Anlegen des Build-JOB

Dazu ruft ihr Jenkins in eurem Web-Browser auf und meldet euch an. Standardmäßig ist das die URL:

http://euerRaspi:8080

Mit Element anlegen startet ihr das Anlegen des Jobs. Wählt hier 

Build-Job anlegen

Element anlegen

Zunächst müsst ihr den Zugriff auf das GIT-Repository für euer Projekt konfigurieren. Wenn ihr das GIT-Plugin für Jenkins installiert habt, könnt ihr die Daten für euer GIT-Repository unter der Rubrik Source-Code-Management konfigurieren. Gebt zunächst die Repository URL für euer Projekt ein.

Z.B.: pi@yourraspberry:/home/pi/git/webproject.

GIT-Repository URI

GIT-Repository URI

Danach müsst ihr noch die Zugangsdaten für euer GIT-Repository per SSH unter Credentials konfigurieren. Klickt neben Credentials auf Add. In dem neuen Fenster müsst ihr diese Daten konfigurieren:

  • Kind: SSH Benutzername und privater Schlüssel
  • Benutzername: Euer Raspberry-User für das GIT-Repository
  • Privater Schlüssel: Die Auswahl  /.ssh des Jenkins Master hat bei mir funktioniert
  • Passwort/Passphrase: Passwort eures GIT-Users
  • Eine beliebige Beschreibung für die Credentials

Wenn Jenkins auf euer GIT-Repository zugreifen kann, sollten alle Fehlermeldungen verschwunden sein.

GIT mit Credentials

GIT mit Credentials

Die hier eingegebenen Credentials könnt ihr später jederzeit unter Jenkins -> Zugangsdaten ändern, löschen oder neue hinzufügen.

Danach müsst ihr unter der Rubrik Buildverfahren die Build-Schritt für das kompilieren und Ausführen des Java-Programm hinzufügen. Jenkins soll in diesen Build-Schritten das Java-Programm in einer Kommando-Zeile mit dem Java-Compiler kompilieren und danach starten.

Wählt unter Buildverfahren Shell ausführen, da der Jenkins unter einem Unix auf dem Raspberry läuft.

Der Befehl für die Shell lautet:

javac src/myJava/JenkinsTest.java

Danach benötigt ihr noch einen weiteren Build-Schritt zum Ausführen des Java-Programms. Fügt also einen weiteren Build-Schritt mit Shell ausführen hinzu. Diesmal mit dem Befehl:

java -cp src myJava.JenkinsTest
Build-Schritte

Build-Schritte

Danach speichert ihr den Build-Job. Mit Jetzt bauen startet ihr den Build-Job. Wenn alles gut gegangen ist, seht ihr unter Build-Verlauf einen blauen Bubble. Das von Jenkins aus dem GIT-Repository geladene Projekt findet ihr unter :

/var/lib/jenkins/workspace/NameEuresBuildJobs.

Build-Verlauf

Jetzt Bauen

Mit Klick auf den Bubble könnt ihr euch die Konsolen-Ausgabe für den Build-Job anzeigen lassen.

LOG-Ausgabe

LOG-Ausgabe

Für den zweiten Build-Job plane ich ein Web-Projekt mit folgenden Bedingungen:

  • Webprojekt mit dem Spring-Framework Thymeleaf
  • Tomcat als Application-Server
  • GIT-Repository
  • Juni-Tests
  • Build des Projekts mit Gradle
  • Erzeugen des Projekts mit Sprint-Boot