GitHub Actions - Java-Projekte bauen und testen

in  Builds & Tests , , ,

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 Build-Management

In Java ist es gang und gebe, die Builds mit spezifischen Tools zu beschreiben, hier sind als gängigste Beispiele Maven, Gradle oder auch Ant zu nennen. Das ist insoweit hilfreich, als dass viele Abhängigkeiten darüber verwaltet werden.

Das allgemeine Vorgehen für Java-Projekte sieht daher wie folgt aus:

Erneuertes Build-System für ModuleStudio

in  Builds & Tests , , ,

Erneuertes Build-System für ModuleStudio

Die Komponenten von ModuleStudio werden nun mit anderen Technologien gebaut. Statt Buckminster wird jetzt das Maven-basierte Tycho eingesetzt. Die Jenkins-Jobs wurden auf Pipelines umgestellt und unterstützen somit nun mehrere Branches.

Tycho für Features in mehreren Repositories

Im ersten Schritt habe ich daran gearbeitet, die Builds lokal mit Tycho zum Laufen zu kriegen. Eine Herausforderung dabei war es, die Builds für alle Komponenten, die in unterschiedlichen Git-Repositories liegen, mit möglichst wenig Redundanz zu beschreiben. Dies funktioniert über eine gemeinsame Root-POM, die im zentralen Produkt-Repository liegt. Dieses muß ohnehin allen Builds zusätzlich zum Repository der jeweiligen Komponente bekannt gemacht werden, da das Branding-Bundle von allen Features benötigt wird.