2012-04-23 20 views
5

Ich habe den ganzen Tag daran gearbeitet und konnte nicht eine Lösung zu finden, so dachte ich würde mich an die Stackoverflow-Community wenden.Sonar nicht abholen Kleetestergebnisse erstellt von laufenden maven in jenkins

Ich habe ein Server-Setup mit Jenkins (Version 1.454). Es ist konfiguriert, den Build mit Maven (Version 3.0.4) durchzuführen. Der Build-Befehl lautet wie folgt:

Jenkins hat das Sonar-Plugin installiert und konfiguriert. Mein Sonar installieren (Version 3) ist auf einem anderen Server als Jenkins. Nachdem der Build abgeschlossen ist, kann ich die Ergebnisse auf Sonar sehen (die Grundlagen des Builds).

Ich habe installiert, um das Kleeblatt-Plugin (sonar-clover-plugin-2.8.jar) manuell zu sonar, indem Sie es in den Ordner "extensions/plugins" setzen. Es erschien in Sonar und ich kann es konfigurieren. Ich habe die Lizenzversion (3.1.4) und sonar.clover.reportPath als "target \ site \ clover \ clover.xml" eingegeben.

Wenn ich den Build ausführen, ist es wie zuvor erfolgreich, und ich kann die grundlegenden Ergebnisse wie zuvor in Sonar sehen, jedoch kann ich keine Testcodeabdeckungsergebnisse sehen. Als ich im Maven Build-Ausgabe aussehen bemerke ich folgendes:

[INFO] Writing report to '/opt/jenkins/jobs/foo/workspace/target/site/clover/clover.xml' 

und dann in der Nähe der Unterseite des Ausgangs:

[INFO] [15:08:36.586] Clover XML report not found 

Die folgenden sind auch in meinem pom:

 <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis> 
    <sonar.clover.reportPath>target\site\clover\clover.xml</sonar.clover.reportPath> 
    <sonar.surefire.reportsPath>target\surefire-reports</sonar.surefire.reportsPath> 
    <sonar.core.codeCoveragePlugin>clover</sonar.core.codeCoveragePlugin> 
    <sonar.clover.version>${clover.version}</sonar.clover.version> 

Wenn ich auf die Jenkins-Box schaue, kann ich sehen, dass sie die clover.xml-Datei erzeugt hat (tatsächlich habe ich in meinem Fiedeln, dass das Clover-Plugin auf jenkins funktioniert, damit ich die Ergebnisse dort sehen kann!).

Ich vermute in diesem Stadium, dass es ein Problem mit Jenkins und Sonar auf separaten Boxen ist. Jede Hilfe wäre willkommen!

Prost.

Antwort

5

Nach viel mehr Hantieren, schien es, dass ich brauchte die folgenden Änderungen:

<sonar.clover.reportPath>${project.build.directory}/site/clover/clover.xml</sonar.clover.reportPath> 
    <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath> 

Eine gute Referenz wurde die folgende: all about pom variables