TFSおよび、VSTSでビルド時にSonarQubeを呼び出すことにより、C#コードの静的解析及び、品質情報の管理を行うことができます。
Microsoft Azure - SonarQube と TFS による技術的負債の管理
SonarQube™ » Announcing SonarQube integration with MSBuild and Team Build
最初はうまく動いていたのですが、Update3のころからうまく動かなくなっていました。原因はConnectに報告するときに調べていたのですが、その通りだよということでした。
SonarQube Tasks Failed in non-english OS | Microsoft Connect
例によって、ビルドタスクのエンコーディングがANSIで、- がコードページISO-8859-1の文字だったおかげで、英語OS以外では動かないということです。
Invoke-BatchScript $bootstrapperPath -Arguments $arguments
根本対処はTFS 2015 Update4かTFS15(Preview)になるとのことなので、以下の回避策を使用します。
- 各エージェントのtasks\SonarQubePreBuild\1.0.35フォルダにあるSonarQubePreBuild.ps1 をUTF-8に変更して、上記のように編集する。
- クロスプラットフォーム用ビルドエージェントtfs toolを使って、1.0.36のビルドタスクをアップロードする
簡単なのは前者ですね。ビルドタスクにはそもそもこういう英語OS以外ではうまく動かないってのがたまに出てくるので、注意が必要です。