Sonar Projektintegration
-
22-07-2019 - |
Frage
Hallo Damen und Herren,
Wir haben ziemlich großes Projekt mit eigenen Build Framework basiert vor allem auf Java (aber auch andere Sprachen vorhanden sind).
grafisch präsentieren verschiedene Code-MetrikenWir möchten Sonar Hudson-Plugin verwenden. Wie können wir das tun?
Brauchen wir Projektstruktur ändern und es bringen Maven oder es gibt eine Problemumgehung nur angeben, wo aus den Testergebnissen und andere Artefakte zu bekommen?
Danke
Lösung
Die Methode, die wir verwenden, ist dies:
- bauten wir eine benutzerdefinierte pom.xml-Build-Datei spezifisch für Sonar (wir verwenden Ameise für andere Zwecke Build)
-
es hat nur Test eine gute Leistung, so hartcodierte Abhängigkeit Referenzen angegeben mit
<scope>system</scope>
-
wir haben nicht die Projektstruktur für Maven ändern, können Sie in Maven benutzerdefinierte scr angeben, zu testen, Ressourcen-Verzeichnisse (solange Sie nur ein src und Testverzeichnis haben)
-
der Befehl in CI verwendet wird, ist
mvn clean compile sonar:sonar
Wir sind mit Continuum für den CI-Teil, aber es sollte genauso gut in Hudson arbeiten.
Dieses Verfahren geändert hat keine anderen Build-Artikel, es ist nur nach Maß für Sonar. Aber es hat den Weg für eine Continuous Integration (täglich) bauen oder für Maven als Build-Tool. Dieses Verfahren ist ähnlich dem „Sonar Lichtmodus“ beschrieben hier
Weitere Informationen finden Sie hier:
Andere Tipps
Sie können die Sonar ohne Maven verwenden. Sie müssen es nur sagen, wo die rport Dateien mit Eigenschaften sind: sonar.cobertura.reportPath, sonar.clover.reportPath, sonar.surefire.reportsPath ...
Sehen Sie hier: http://sonar.codehaus.org/tag/ant/
Es gibt ein Kontrollkästchen, diese Werte zu setzen, wenn die Build-in hudson konfigurieren - es „Überprüfen Sie, ob dieses Projekt nicht mit maven2 gebaut wird“ genannt wird,