Cloudogu Logo

Hallo, wir sind Cloudogu!

Experten für Software-Lifecycle-Management und Prozess­auto­mati­sierung, Förderer von Open-Source-Soft­ware und Entwickler des Cloudogu EcoSystem.

featured image Automatische Code Reviews mit SonarQube und Jenkins Teil 2/2
12.12.2023 in Quality

Automatische Code Reviews mit SonarQube und Jenkins Teil 2/2


Daniel Huchthausen
Daniel Huchthausen

IT Consultant


Im Anschluss an den ersten Teil dieses Beitrags können Sie Ihre Codequalität noch weiter verbessern, indem Sie das automatische Code-Review-System um die Analyse durch SonarQube erweitern. Dazu müssen Sie nur ein paar Anpassungen an SCM-Manager, Jenkins und SonarQube vornehmen. Im ersten Teil dieses Artikels haben wir Ihnen bereits die notwendige Konfiguration von SCM-Manager und Jenkins gezeigt. Im zweiten Teil zeigen wir Ihnen nun die notwendigen Anpassungen, um SonarQube in den automatisierten Prozess zu integrieren.

Direkt selber ausprobieren und in weniger als 30 Minuten eine komplette Toolchain installieren:
Cloudogu EcoSystem Quickstart Guide
Durchstarten mit dem EcoSystem

Code Reviews mit SonarQube

Mit SonarQube können Sie das automatische Code-Review-System erweitern. Sie können Code-Metriken definieren, auf die Ihr Projekt geprüft werden soll. Für jede Metrik können Sie Grenzwerte für Warnungen und Fehler festlegen.

Code-Review-Process

Wenn der Build in Jenkins erfolgreich ist, wird die Analyse von SonarQube aufgerufen. Der Status der Sonar-Analyse wird in Pull Request in der Statusleiste Analyse angezeigt.

Implementierung für SonarQube und Jenkins

Um den Code-Review-Prozess durch die Anbindung von SonarQube zu erweitern, sind nur wenige Änderungen in Jenkins und an SonarQube selbst notwendig.

Jenkins Konfiguration

Wenn Sie SonarQube in Ihren Jenkins-Job integrieren möchten, müssen Sie lediglich einen entsprechenden Build-Schritt in Ihrem Jenkinsfile aufnehmen.

Sollten Sie SonarQube manuell in Jenkins hinzufügen wollen, müssen Sie in Jenkins auf den Reiter Manage Jenkins in der linken Menüleiste wechseln und dann Tools im Abschnitt System Configuration auswählen. Anschließend können Sie einen SonarQube-Scanner im Abschnitt SonarQube Scanner-Installationen hinzufügen.

Manuelle SonarQube Konfiguration in Jenkins

Alle vorherigen Änderungen an Jenkins aus Teil 1 bleiben unverändert.

SonarQube Konfiguration

Grundlegende Einstellungen zu Metriken und Regeln werden auf SonarQube eingestellt. Dafür müssen Sie zunächst im Tab Projects das entsprechende Projekt hinterlegen. Anschließend können Sie im Tab Quality Profiles Qualitätsregeln hinzufügen. Die Qualitätsprofile sind eine Reihe von Regeln, die spezifisch für jede Programmiersprache ausgewählt werden können.

SonarQube Quality Profiles

Navigieren Sie anschließend zur Registerkarte Quality Gates. Dort können Sie die Metriken hinzufügen, die Sie verwenden möchten. SonarQube enthält bereits eine Reihe von Standardmetriken (“sonar way”), darunter Metriken wie Abdeckung, Prozentsatz der duplizierten Zeilen oder Sicherheitsbewertung.

SonarQube Quality Gates

Es liegt an Ihnen, die Metriken auszuwählen, die Sie verwenden möchten, und geeignete Grenzen zu finden. Sind die Grenzen zu restriktiv, wird es schwierig sein, im Projekt voranzukommen. Sind die Grenzen schwach, macht sie das entbehrlich.

Damit die SonarQube Analysen auch am jeweiligen PR oder Commit im SCM-Manager angezeigt werden können, ist es notwendig das SonarQube Plugin  im SCM-Manager installieren. Dies kann im Tab Administration unter Verfügbare Plugins in der rechten Menüleiste vorgenommen werden. Sie finden das Plugin im Abschnitt Continuous Integration.  Die Kommunikation zwischen SonarQube und SCM-Manager läuft über Webhooks. Diese können pro Projekt oder pro Organisation definiert werden und müssen in SonarQube entsprechend (pro Projekt oder pro Organisation) in den Einstellungen hinterlegt werden.

SCM-Manager webhook

Automatische Code Reviews verbessern die Qualität

Durch die Implementierung dieses automatischen Code-Review-Prozesses erhalten Sie sofort eine Rückmeldung darüber, ob Ihr Code gebaut werden kann, über den Erfolg Ihrer Unit-Tests und über die Einhaltung Ihrer eigenen Code-Metriken und -Kennzahlen. Am Anfang kann es einige Zeit dauern, bis Sie ein gutes Gleichgewicht zwischen Einschränkung und Redundanz Ihrer Metriken gefunden haben. Mit der Zeit können sie angepasst werden, um die Qualität Ihres Codes zu verbessern.

Probieren Sie automatische Code Reviews selbst aus

Wenn Sie noch kein eigenes Cloudogu EcoSystem haben, erfahren Sie mehr darüber.

Cloudogu EcoSystem

Überzeugen Sie sich von den Vorteilen des Cloudogu Ecosystem. Nutzen Sie jetzt kostenlos die moderne DevOps Plattform.

Zur Plattform
Icon Cloudogu EcoSystem