Jenkins で Visual Studio のコード分析結果を表示する方法

はじめに

先日、Jenkins でテスト結果やコードカバレッジを表示できるようにしました。

これで終了と思いきや、「コード分析の結果も表示して」との要望が。


まぁ、Visual Studio 2010 Premium Edition のライセンスは開発者全員分無いし(というか数個だけ)、FxCop 使うために利用許可を申請するのも面倒なので、ビルドサーバーでコード分析して表示するようにしましょうかね。

Visual Studio での設定

プロジェクトをビルド時に、自動でコード解析が実行されるように設定します。

プロジェクトのプロパティを開いて、一番下のコード分析を選択。自動でコード解析するにチェックをつけます。
f:id:griefworker:20110728141658p:image
これで、ビルドしたときにコード分析が実行されるようになります。分析結果は、アセンブリ出力先と同じディレクトリに、<アセンブリ名>.CodeAnalysisLog.xml というファイル名で出力されます。

Jenkins 側の設定

コード分析結果の表示には、Violations プラグインを使います。Violations プラグインは Trac Lightning で Jenkins をインストールしたら、すでに入っていました。

コード解析結果を表示したいプロジェクトの設定を開いて、Violations の設定をします。

Visual Studio のコード分析結果は FxCop 形式なので、FxCop のところに分析結果ファイルのパスを指定します。ちなみにワークスペースからの相対パスです。
f:id:griefworker:20110728141751p:image
分析結果ファイルは複数あるので、その全てを表示するためにファイルのパターンを指定しています。

これで設定完了

ビルドを実行し成功すると、Jenkins のプロジェクトのページにコード分析のレポートが表示されるようになります。
f:id:griefworker:20110728141806p:image
テスト結果にコードカバレッジに、コード分析結果。これだけ表示すれば十分でしょ。