Skip to content

Commit

Permalink
Use LTS version of Jenkins.
Browse files Browse the repository at this point in the history
  • Loading branch information
uhafner committed Jul 4, 2024
1 parent fcd9621 commit a723a15
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion bin/jenkins.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

docker pull jenkins/jenkins:latest-jdk21
docker pull jenkins/jenkins:lts-jdk21

docker compose build --pull

Expand Down
2 changes: 1 addition & 1 deletion doc/Continuous-Integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Eine Beispielintegration mit Jenkins ist auch bereits vorhanden. Diese ist im [J

### Lokale CI in Jenkins (über Docker Compose)

Da es für Jenkins keinen öffentlichen Service wie bei GitHub Actions gibt, um eigene Projekte zu bauen, muss die Jenkins Integration lokal durchgeführt werden. Zur Vereinfachung des Jenkins Setup ist in diesem Coding Style eine lauffähige Jenkins Installation enthalten (im Sinne von *Infrastructure as Code*). Diese kann über `bin/jenkins.sh` gestartet werden. Anschließend wird die aktuelle Jenkins LTS Version mit allen benötigten Plugins in einem Docker Container gebaut und gestartet (das dauert beim ersten Aufruf etwas). Dazu wird ebenso ein als Docker Container initialisierter Java Agent verbunden, der die Builds ausführt.
Da es für Jenkins keinen öffentlichen Service wie bei GitHub Actions gibt, um eigene Projekte zu bauen, muss die Jenkins Integration lokal auf einem Team-Server durchgeführt werden. Zur Vereinfachung des Jenkins Setup ist in diesem Coding Style eine lauffähige Jenkins Installation enthalten (im Sinne von *Infrastructure as Code*). Diese kann über `bin/jenkins.sh` gestartet werden. Anschließend wird die aktuelle Jenkins LTS Version mit allen benötigten Plugins in einem Docker Container gebaut und gestartet (das dauert beim ersten Aufruf etwas). Dazu wird ebenso ein als Docker Container initialisierter Java Agent verbunden, der die Builds ausführt.

<!-- markdown-link-check-disable-next-line -->
Nach einem erfolgreichen Start von Jenkins sind dann unter [http://localhost:8081](http://localhost:8080/job/Codingstyle/) mehrere Jenkins Jobs sichtbar. Einer dieser Jobs baut das vorliegende Coding Style Projekt. Der Zugang auf diesen lokalen Rechner erfolgt zur Vereinfachung mit Benutzer `admin` und Passwort `admin`, anschließend hat man volle Jenkins Administrationsrechte. Die jeweiligen Jobs müssen danach manuell gestartet werden, die Ergebnisse der Tests, Code und Mutation Coverage sowie statischen Analyse werden dann automatisch visualisiert. Das Jenkins Home Verzeichnis ist im Docker Container als externes Volume angelegt: d.h. der Zugriff kann auf dem Host direkt im Verzeichnis `docker/volumes/jenkins-home` erfolgen.
Expand Down
2 changes: 1 addition & 1 deletion docker/images/jenkins-controller/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Prepare a Debian-based Docker image with several utilities installed to automatically generate SSH keys
FROM jenkins/jenkins:latest-jdk21
FROM jenkins/jenkins:lts-jdk21

# We switch back to the Jenkins user for the remaining operations.
USER jenkins
Expand Down

0 comments on commit a723a15

Please sign in to comment.