2011-08-04 14 views
8

私はプロジェクトのバージョン管理ツールとしてSVNを使用しています。プロジェクト分析にソナーを使用する予定です。SVNとのソナーの統合

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

答えて

13

プレコミットフックとして複雑な作業をしないでください!ユーザがコミットを行うと、制御はプレコミットフックが完了するまでユーザに戻らない。ソナーは、あなたのコードをコンパイルする必要があるため、ユーザーはすべての上で待機する必要があります、次のコミット:

  • ソナーが実行するテストやチェックのすべてを実行するコード
  • をコンパイルするコード
  • をチェックアウト
  • ソナーは、その報告を完了するのを待っていると、そのデータベース

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

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

$ java -jar jenkins.war 

そして、実行しています。ハドソンが立ち上がったら、あなたは「仕事」を定義します。必要な情報を入力して保存してください。誰かがSubversionでコミットするたびに、ハドソンはバックグラウンドで構築します。

Jenkinsを拡張できるサードパーティのプラグインは数多く(そしておそらく数百も)楽しんでいます。たとえば、Sonarのタスクを実行し、データベースを更新し、見栄えの良いレポートを生成するSonarプラグインがあります。

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

+0

ありがとうございました.....私はCOLLABNET SUBVERSION Edgeをインストールしていますが、ソナーを実行していますが、統合ではありません。私はHudsonとJenkinsが必要ですが、両方とも認識していません。私は小さなデモを構築するのに役立ちますか? – samarth

+0

ジェンキンスとハドソンは同じことです。もともとはハドソンでしたが、それを書いた人はオラクルを離れてジェンキンスのもとでプロジェクトを続けました。開発チームのほとんどは現在Jenkinsを担当していますが、Oracleは依然としてHudsonをサポートしています。私はジェンキンスを使用します。 [Jenkins](http://jenkins-ci.org)をダウンロードして試してみてください。それは本当に使いやすいです。ジェンキンス_ソナーと一緒に_integrates_。 Jenkins用のプラグインがあり、1つはSonarプラグインです。基本的には、Jenkinsにソナーがレポートを作成する場所を教えてください.Jenkinsはそれらをきれいに見せてくれます。 Sonarを使用している場合は、すでに90%のところにいます。 –

0

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

関連する問題