Jenkins mit GitHub-Integration, Pipelines und Multibranch Workflows

in  Builds & Tests , ,

Jenkins mit GitHub-Integration, Pipelines und Multibranch Workflows

Gegenwärtig beschäftige ich mich mit zwei interessanten Punkten in Bezug auf Jenkins. Die neu gestaltete Website bietet dazu einen guten Einstiegspunkt.

Der erste Punkt dreht sich darum, Jenkins besser mit GitHub zu verzahnen.

  • Hier steht insbesondere eine engere Integration des Build Status im Raum. Die Nutzung von Service Hooks erlaubt es, einen Build via Push zu starten, was sowohl schneller als auch effizienter als das zeitbasierte Polling des Git-Repositories seitens Jenkins abläuft.
  • Durch die Commit Status API kann der Erfolg oder Fehler eines Builds zu einem Commit auf GitHub reflektiert werden.
  • Der aktuelle Build-Zustand des Repositories sollte auf GitHub angezeigt werden.
  • Auch Pull Requests sollten ebenso wie der Hauptbranch gebaut werden.

Der zweite Bereich behandelt Pipelines, mit denen sich der Workflow eines Jobs flexibel orchestrieren lässt.

  • Jobs können so prägnant in einer Datei beschrieben werden, die im Repository liegt (Jenkinsfile). Damit wird die Job-Konfiguration mit in der Git-Versionierung und nicht mehr in der Jenkins-UI vorgenommen.
  • Jenkins kann automatisch neue und gelöschte Branches erkennen und erstellt bzw. entfernt die dazugehörigen Jobs automatisch. Dies ist auch der aktuell empfohlene Weg, um Builds für Pull Requests auszuführen.
  • Da die in den Workflows verwendete DSL auf Groovy basiert, ist auch die Implementierung individueller Logik in den Job-Konfigurationen möglich.
  • Aus der Jenkins UI heraus lassen sich Snippets für einzelne Build Steps erzeugen, was die Migration vereinfacht.

Aktuell lese ich mich noch in die Materie ein, werde aber schon bald mit den ersten Schritten für die Umsetzung beginnen.

Weitere Beiträge in Kategorie Builds & Tests

GitHub Actions - Eine Aktion zum Generieren von Zikula-Modulen
- Der Standalone-Generator ModuleStudio bietet einen Standalone-Generator, mit dem sich jederzeit eine Anwendung über die Kommandozeile generieren lässt. Einige allgemeine Informationen hierzu sind der …
GitHub Actions - Programmatische Trigger, Build Pipelines, Dashboard
- In diesem Beitrag geht es darum, mehrere und unterschiedliche Build Jobs miteinander zu verknüpfen. Je größer eine Build Infrastruktur wird, desto häufiger wird man mit solchen Anforderungen …
GitHub Actions - Java-Projekte bauen und testen
- Nachdem im letzten Artikel gezeigt wurde, mit welchen Mitteln sich in GitHub Actions Projekte auf Basis von PHP verarbeiten lassen, schauen wir nun auch einmal kurz in die Java-Welt. Werkzeuge für das …
GitHub Actions - PHP-Projekte bauen und testen
- Eine Aktion zur PHP-Einrichtung Für die wichtigsten Punkte, die notwendig sind, um ein auf PHP basierendes Projekt zu testen, gibt es die Action setup-php. Diese bietet unter anderem folgende …
GitHub Actions - Abhängigkeiten automatisch aktualisieren
- Nach der allgemeinen Einführung in GitHub Actions kommen wir nun zu dem ersten Anwendungsfall, der in vielen Projekten angewendet werden kann. Fast jedes Softwareprojekt bedient sich heutzutage …