レポートXMLをSonarQubeランナーに渡すことが、ここでの主な手口です。/output
resharperオプション(下記の手順2を参照)で実行できます。しかし、私は完全な手順を作ったので、あなたの一日を台無しにするかもしれないいくつかのものがあります。
まず、SonarQube ServerがResharperデータを受け入れるように正しく設定されていることを確認してください。 ResharperとC#のプラグインをインストールし、ResharperのルールでQuality Profileを設定する必要があります。設定を確認するには、Resharper plugin documentationに記載されているように分析を手動で実行することをおすすめします。
次に、よく使用される場所にレポートXMLを作成するためのInspections(.Net)TeamCityビルドステップを構成します。詳細なオプションを開き、「Additional inspectCode.exe arguments:」フィールドに/output=%system.teamcity.build.tempDir%\inspectReport.xml
(またはその他の場所) 。 重要!この手順は、レポートがデフォルトの場所にあるために失敗します(issue on YouTrack参照)。すべてのその後の工程はSonarQubeランナーのステップオープン高度なオプションではとに
を実行するためにExecute step: if some of the previous steps failed
オプションが必要になります「追加のパラメータ:」フィールドは、この2行(実際のパスでpathToSolutionFile
を置き換え)を追加:
-Dsonar.resharper.cs.reportPath=%system.teamcity.build.tempDir%\inspectReport.xml
-Dsonar.resharper.solutionFile=pathToSolutionFile
を
echo "##teamcity[importData path='%system.teamcity.build.tempDir%\inspect.xml' type='ReSharperInspectCode']"
yとができます:最後に点検はして新しいコマンドラインビルドステップを追加するだけでなくチームシティーUIでレポートを参照しますSQRを開始してからステップの全ログを表示しますか?値がエラーの前に初期化されているかどうかを確認することができます。 -Djava.io.tmpdir = C:¥Data¥TeamCityAgent01¥temp¥buildTmpですが、これらのすべてがこれを試して診断するのに便利です。ランナーはDEFAULT JDKパスを使用していますか? –
デフォルトのjdkパスを使用しています。私はソナーランナーステップログを私のポストに入れました(説明:ソナーランナーステップ) – Nischith