Skip to content

Latest commit

 

History

History
35 lines (24 loc) · 2.12 KB

Externe-Tool-Integration.md

File metadata and controls

35 lines (24 loc) · 2.12 KB

Integration externer Tools

Zur Unterstützung des Entwicklungsworkflows sind bereits verschiedene externe Tools konfiguriert.

Automatische Aktualisierung der Abhängigkeiten

Die Abhängigkeiten des Projektes (Dependencies) werden über Maven verwaltet und sind im POM konfiguriert. Um das Projekt immer auf dem laufenden Stand zu halten, ist die GitHub App Dependabot aktiv geschaltet: diese prüft automatisch, on neue Versionen einer Bibliothek (oder eines Maven Plugins) zur Verfügung stehen. Ist dies der Fall, erstellt der Roboter automatisch einen Pull Request, der die Version aktualisiert.

Automatisierte Generierung eines Changelog

Damit der Nutzer des Projekts immer über alle Änderungen im Projekt im Bilde ist, ist die GitHub App Release Drafter aktiviert. Diese erstellt automatisch neue Changelog Einträge im GitHub Releases Bereich. Diese Einträge werden aus den Titeln der Pull Requests generiert, d.h. jede Änderung am Projekt sollte über Pull Requests erfolgen und nicht über direkte Git Commits - dies entspricht auch dem Vorgehen des GitHub Flows.

Statische Analyse von Pull Requests mit CheckStyle und PMD

Wie bereits im Abschnitt Continuous Integration erwähnt, gibt es keinen öffentlichen Service, ein GitHub Projekt mit Jenkins automatisiert zu bauen. Für GitHub Actions gibt es diesen Service, aber die Visualisierung der Ergebnisse der statischen Analyse wird leider nicht unterstützt.

Security Analyse von Pull Requests

Zusätzlich zur statischen Analyse wird ein Pull Request auf Sicherheitslücken untersucht. Dies erfolgt über die GitHub App LGTM.

Bewertung der Code Coverage

Die Code Coverage der Unit-Tests wird ebenfalls nach jeder Änderung (bzw. für jeden Pull Request) an den Service Codecov weitergeleitet, der die Resultate grafisch visualisiert.