CI/CD Pipeline auf einem Raspberry Pi – Teil 2
Inhaltsverzeichnis
Nachdem wir uns in Teil 1 vor allem um die Einrichtung und Konfiguration gekümmert haben, möchte ich in Teil 2 des Experiments die Installation eines Build-Servers auf dem Raspberry Pi beschreiben. Ich habe mich an dieser Stelle für Jenkins entschieden, da Jenkins OpenSource und kostenlos ist, und die Installation relativ leicht funktioniert.
Die Installation von Jenkins
Verbinden Sie bitte Ihren Raspberry Pi per SSH und aktualisieren Sie zu Beginn die Grundpakete. Geben Sie dafür bitte einfach folgende Befehle in die Konsole ein:
sudo apt-get update
sudo apt-get upgrade
Bestätigen Sie die jeweiligen Nachfragen mit Enter.
Java installieren
Als nächstes benötigen Sie eine Java-Installation, denn Jenkins basiert darauf. Ich empfehle Ihnen – auch aufgrund aktueller Lizenzierungsprobleme mit Oracle – die Installation von OpenJDK:
sudo apt install default-jdk
Zum Testen rufen Sie einfach die entsprechende Version auf:
java –version
Ich habe folgende Kommandos ausgeführt, dann lief es:
sudo mv /usr/lib/jvm/java-8-openjdk-armhf/jre/lib/arm/client /usr/lib/jvm/java-8-openjdk-armhf/jre/lib/arm/server
sudo apt-get purge openjdk-8-jre-headless
sudo apt-get install openjdk-8-jre-headless
sudo apt-get install openjdk-8-jre
sudo apt-get install default-jre
sudo apt-get install default-jdk
Nun sollte der Aufruf von „java –version“ eine erfolgreiche Versionsinformation liefern und Sie können Jenkins installieren. Stellen Sie dazu eine weitere Paketquelle von Jenkins bereit und installieren Sie den Server über die Paketverwaltung:
wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins –y
Nun sollte Jenkins installiert sein und bereits laufen. Prüfen Sie dazu bitte:
systemctl status jenkins.service
Dieser Befehl gibt den Status des Jenkins-Dienstes aus; in der Art sollte dort folgendes stehen:
● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated; vendor preset: enabled)
Active: active (exited) since Wed 2017-12-27 22:14:45 +08; 4min 40s ago
Docs: man:systemd-sysv-generator(8)
Dec 27 22:14:43 raspberrypi systemd[1]: Starting LSB: Start Jenkins at boot time...
Dec 27 22:14:43 raspberrypi jenkins[1670]: Correct java version found
Dec 27 22:14:43 raspberrypi su[1700]: Successful su for jenkins by root
Dec 27 22:14:43 raspberrypi su[1700]: + ??? root:jenkins
Dec 27 22:14:43 raspberrypi su[1700]: pam_unix(su:session): session opened for user jenkins by (uid=0)
Dec 27 22:14:45 raspberrypi jenkins[1670]: Starting Jenkins Automation Server: jenkins.
Dec 27 22:14:45 raspberrypi systemd[1]: Started LSB: Start Jenkins at boot time.
Sollte dies der Fall sein, können Sie von Ihrem Computer aus per Browser die Jenkins-Weboberfläche bereits öffnen: http://[ip-adresse-des-pi]:8080. Gegebenenfalls benötigen Sie einige Sekunden Geduld bis alles initial geladen wird.
Getting Jenkins started
Als nächstes dürfen Sie die Jenkins-Instanz entsperren. Dazu gilt es einen speziellen Schlüssel herauszusuchen und in das Eingabefeld entsprechend einzufügen:
Den Inhalt der Datei holen Sie sich per SSH direkt von der Raspberry Pi:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Den ausgegebenen Schlüssel kopieren Sie einfach aus dem Terminal in das Eingabefeld und klicken auf „Continue“.
Die Installation der Plugins
Im folgenden Screen entscheiden Sie sich bitte für „install suggested plugins“. Jenkins installiert automatisch alle Plugins nacheinander. Das kann einige Minuten dauern.
Hinweis: Bei meiner Installation wurde die Installation einiger Plugins als fehlerhaft hervorgehoben. In Jenkins selbst konnte ich aber keinerlei Probleme identifizieren; lassen Sie sich also ggf. davon nicht beirren: fehlende Plugins lassen sich auch später nachinstallieren.
Der initiale User
Nun geben Sie noch die Daten für den initialen User ein:
Jetzt sollten Sie bereits die Hauptseite von Jenkins sehen, die jetzt komplett eingerichtet ist:
In Teil 3 des Experiments beschreibe ich Ihnen, wie Sie den Build-Server verwenden und einen Build-Job erzeugen können. Sind Sie dann auch wieder dabei?
Hinweise:
Interessieren Sie sich für weitere Tipps aus der Praxis? Testen Sie unseren wöchentlichen Newsletter mit interessanten Beiträgen, Downloads, Empfehlungen und aktuellem Wissen.
Wir suchen Softwareentwickler. Berufseinsteigerinnen, Entwickler mit einigen und Expertinnen mit vielen Jahren Erfahrung.
Hier finden Sie die anderen drei Teile der Serie von Peter Friedland:
Peter Friedland
t2informatik GmbH
Peter Friedland ist bei der t2informatik GmbH als Software Consultant tätig. In verschiedenen Kundenprojekten entwickelt er innovative Lösungen in enger Zusammenarbeit mit Partnern und den Ansprechpartnern vor Ort. Und ab und an bloggt er auch.