2016-05-04 7 views
0

Wir haben TeamCity mit dem SonarQube als Teil unseres Build-Prozesses integriert. Wann immer ich den Sonar-Job in TeamCity starte, sehe ich nach dem Build die Build-Version in SonarQube, aber der Code (LOC-Codezeilen) wird nicht gepusht.Der TeamCity-Code konnte nicht in SonarQube übertragen werden

Wir verwenden TeamCity 9.1.3 Enterprise Version und SonarQube 4.5.7. Bitte beachten Sie die Anhänge als Referenz.

Analysis configuration in TeamCity

Resulting metrics

Antwort

1

Ihre Analyse Konfiguration Screenshot zeigt, dass Sie Sonarqube Scanner an eine .sln Datei als Standort Ihres Projekts Code Quelle hingewiesen habe. Da gibt es keinen eigentlichen Code in der .sln selbst ... das wäre dein Problem. Die Analyse wird ausgeführt und "pusht" Ergebnisse in SonarQube, aber diese Ergebnisse sind leer, da während der Analyse kein Code gefunden wird.

Dann gibt es die Tatsache, dass Sie versuchen, ein .NET-Projekt mit dem SonarQube Scanner zu analysieren. Das war der empfohlene Weg, um es zu tun, aber es erforderte viel der Konfiguration von Ihrer Seite und es war fast unmöglich, all die t zu bekommen gekreuzt und ich ist punktiert. So wurde SonarQube Scanner für MSBuild eingeführt, um Sie von dieser Last zu entlasten.

Um SonarQube Scanner für MSBuild zu verwenden, müssen Sie 3 separate Befehle ausführen, und ich vermute, dass die Verwendung einer Befehlszeile am einfachsten sein wird (aber ich habe TeamCity nie verwendet, also könnte es ein Feature geben nicht bewusst, SonarQube Scanner für MSBuild-Analyse zu behandeln).

Here's a link to the docs, aber kurz gesagt, was Sie tun müssen, ist

  1. die Sonarqube Scanner für MSBuild stellen Sie sicher,
  2. auf Ihre Analyse Job verfügbar sind
  3. Lauf MSBuild.SonarQube.Runner.exe begin /k:"sonarqube_project_key" /n:"sonarqube_project_name" /v:"sonarqube_project_version"
  4. Ihre normale Build
  5. Lauf tun MSBuild.SonarQube.Runner.exe end
Verwandte Themen