2016-06-15 21 views
1

Sonar Runner step Wir versuchen, Sonar für ein Projekt (Module) in TeamCity einzurichten. Wir haben die folgenden Erstellungsschritte: 1) Nuget Installieren 2) Visual Studio sln 3) Inspektionen (NET) 4) Sonar RunnerSonar Runner nimmt die Berichts-XML-Datei in TeamCity nicht an

Im Sonar Runner Schritt, es nicht in der Lage ist, halten diese Datei zu erhalten .Siehe Bild 2 unable to find that xml file

Bitte helfen Sie, indem Sie mir in die richtige Richtung zeigen, wie Sie die xml-Datei auswählen können.

+0

Kann y Oder zeigen Sie das vollständige Protokoll für den Schritt ab dem Start von SQR? Wäre schön zu sehen, was die Werte vor dem Fehler initialisiert, z. -Djava.io.tmpdir = C: \ Data \ TeamCityAgent01 \ temp \ buildTmp, aber alle von ihnen werden nützlich sein, um dies zu diagnostizieren. Verwendet der Runner den DEFAULT JDK-Pfad? –

+0

verwendet es den Standardpfad jdk. Ich habe den Sonar Runner Schritt Log in meinem Beitrag (Beschreibung: Sonar Runner Step) – Nischith

Antwort

3

Der Haupttrick hier ist, Berichts-XML an SonarQube-Läufer zu übergeben - es könnte mit /output Nachschärfer-Option getan werden (siehe Schritt # 2 unten). Es gibt aber noch mehr Dinge, die deinen Tag ruinieren könnten, also habe ich ein komplettes Verfahren zusammengestellt.

  1. Stellen Sie zunächst sicher, dass SonarQube Server korrekt konfiguriert ist, um Resharper-Daten zu akzeptieren. Sie benötigen installierte Resharper- und C# -Plugins und ein konfiguriertes Qualitätsprofil mit Resharper-Regeln. Um die Konfiguration zu überprüfen, empfehle ich, die Analyse manuell auszuführen, wie in der Resharper plugin documentation beschrieben.

  2. Konfigurieren Sie dann den TeamCity-Build-Schritt Inspections (.Net), um Berichts-XML an einem bekannten Ort zu erstellen: Öffnen Sie erweiterte Optionen und im Feld "Zusätzliche inspectCode.exe Argumente:" add /output=%system.teamcity.build.tempDir%\inspectReport.xml (oder an einem anderen Ort) . Wichtig! Der Schritt schlägt fehl, da der Bericht im Standardspeicherort erwartet wird (siehe issue on YouTrack). Alle nachfolgenden Schritte werden Execute step: if some of the previous steps failed Option benötigen

  3. In Sonarqube Runner Schritt offen erweiterte Optionen und die laufen „Zusätzlichen Parameter:“ Feld Fügen Sie diese 2 Zeilen (ersetzen pathToSolutionFile mit echtem Pfad):

    -Dsonar.resharper.cs.reportPath=%system.teamcity.build.tempDir%\inspectReport.xml 
    -Dsonar.resharper.solutionFile=pathToSolutionFile 
    
  4. Schließlich sehen die Kontrollen in Teamcity UI berichten sowie eine neue Kommandozeilen-Build-Schritt hinzufügen mit:

    echo "##teamcity[importData path='%system.teamcity.build.tempDir%\inspect.xml' type='ReSharperInspectCode']" 
    
+0

Hallo linfar .... danke für die Antwort, es hat funktioniert. Jetzt habe ich ein neues Problem, wir haben vor kurzem auf TeamCity 10 aktualisiert und ich finde das gleiche Problem hier wieder .... Ich replizierte alles, wie es ist, aber nichts nützt .... können Sie mir bitte helfen – Nischith

+0

Stellen Sie sicher, dass Sie haben das Plugin auf die [neueste Version] aktualisiert (https://teamcity.jetbrains.com/viewLog.html?buildId=836043&buildTypeId=TeamCityPluginsByJetBrains_TeamCitySonarQubePlugin_Build100x&tab=artifacts). Zweitens - das Problem, das ich erwähnt habe, ist bereits behoben, so Schritt 4 und 'Ausführen Schritt: wenn einige der vorherigen Schritte gescheitert sind 'Optionen sind jetzt nicht erforderlich. Wenn Sie immer noch Probleme haben, kann ich Ihnen auf [github] helfen (https://github.com/JetBrains/TeamCity.SonarQubePlugin/issues) – linfar