SonarQube
SonarQube ist eine Open-Source-Plattform für statische Codeanalysen und wird zur Prüfung der technischen Qualität von Quellcode eingesetzt. Entwickelt wird das Tool von sonarsource (Tool Informationen). Das Tool wurde 2007 erstmals veröffentlicht und hieß bis zu einer Namensänderung 2013 „Sonar“.
Merkmale von SonarQube
SonarQube unterstützt Entwickler bei der Sicherung der Codequalität durch die Analyse von Quellcode nach festgelegten Regeln. Die Analysen bestehen aus zwei Ebenen.
- Regeln können unter anderem hinsichtlich Komplexitätsgrad des Codes, potentiellen Fehlern, der Einhaltung von Code-Richtlinien, der Testabdeckung, Code-Dopplungen und Kommentaren erstellt werden. Qualitätsprofile werden aus den verfügbaren Regeln zusammengesetzt.
- Quality Gates legen Höchst- oder Mindestwerte für Kennzahlen wie „Code Coverage > 80%“ oder „Security Rating nicht schlechter als A“ fest.
Die Ergebnisse der Analysen werden in einer Datenbank gespeichert und können über ein Webinterface abgerufen werden. Durch die Integration von SonarQube in CI/CD-Pipelines kann der Entwicklungsprozess automatisiert unterstützen werden.
SonarQube unterstützt bis zu 27 Programmiersprachen bei der Codeanalyse. Durch den modularen Aufbau kann das Analyse-Tool einfach mit Plugins erweitert werden.
SonarQube im Cloudogu EcoSystem
Als Teil der Toolchain unterstützt SonarQube im Cloudogu EcoSystem die Codequalität. Die Ergebnisse der Test können einfach über das SonarQube-Webinterface abgerufen werden oder in die Dashboards, z.B. im Cockpit, übersichtlich dargestellt werden. Bei der Integration der Analyse in eine Jenkins-Build-Pipeline gibt es zwei Möglichkeiten, wenn ein Quality Gate nicht erreicht wird oder Fehler auftreten:
- Abbruch des Builds mit einem Fehler.
- Fortführen des Builds mit einer Warnung.