8

プロジェクトのバージョン管理ツールとしてSVNを使用しており、プロジェクト分析にソナーを使用することを計画しています。

コードがSVNにチェックインされるたびにソナープロジェクト分析を実行するにはどうすればよいですか?

4

2 に答える 2

13

コミット前のフックとして複雑なことをしないでください!ユーザーがコミットを実行すると、pre-commitフックが完了するまで、制御はユーザーに戻りません。Sonarはコードをコンパイルする必要があるため、ユーザーはすべてのコミットで次のことを待つ必要があります。

  • コードをチェックする
  • コードのコンパイル
  • Sonarが実行するすべてのテストとチェックを実行する
  • Sonarがレポートを完了してデータベースを更新するのを待っています

このすべてにどれくらい時間がかかりますか?10分?20分?5分?コードが小さいか、コンパイラが非常に高速であると仮定して、わずか4分かかります。ユーザーは、作業を再開するために、コミットを実行するたびに4分待機しますか?

代わりに、 Jenkinsのような継続的ビルドサーバーを入手してください。Jenkinsは、セットアップが高速で簡単です。これは単純な*.warファイルです。あなたは単に実行します:

$ java -jar jenkins.war

そして、あなたは稼働しています。ハドソンが立ち上がったら、「ジョブ」を定義します。必要な情報を入力して保存するだけです。Subversionで誰かがコミットするたびに、Hudsonはバックグラウンドでビルドします。

すべての楽しみが生まれるのは、Jenkinsを拡張できる数十(場合によっては数百)のサードパーティプラグインです。たとえば、Sonarタスクを実行し、データベースを更新し、見栄えの良いレポートを生成するSonarプラグインがあります。

問題がある場合、Jenkinsは責任者と開発チーム全体に電子メールを送信します。(プラグインを使用すると、JenkinsはIM、ツイート、さらには信号機を緑から赤に変更できます)。この即時のフィードバックと公開知識により、開発者はコミットを行う前に独自のテストを行うことができます。

于 2011-08-18T20:46:14.263 に答える
0

ハドソンを調査することができます。そのためのSonarプラグインがあります。

于 2011-08-18T19:53:19.357 に答える