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.
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.
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.
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
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.
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.
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
/var/lib/jenkins/workspace/NameEuresBuildJobs.
Mit Klick auf den Bubble könnt ihr euch die Konsolen-Ausgabe für den Build-Job anzeigen lassen.
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