Sonarのアーキテクチャ・仕組み
Sonarは、大きく分けて、WebアプリケーションのSonar本体とSonarのプラグイン、MavenのSonarプラグイン、そしてデータベースから構成されています。メトリクスの収集は、ソースコードのビルド実行時にMavenのSonarプラグインを実行することにより行います。
Sonarの処理の流れは、次のとおりです。この構成と処理の流れを頭に入れておくと、ビルドサーバとSonarサーバ、データベースを別のサーバマシンで実行するように設定を変更する際や、トラブルが発生したときの切り分けが楽になるので、覚えておくといいでしょう。
【1】Sonarの設定情報、プラグイン取得
MavenのSonarプラグインを実行すると、Sonar本体にプロジェクトの設定情報の取得と必要なモジュールをダウンロードします。Sonar本体より設定情報やモジュール(jarファイル)を取得するため、ビルドファイル側での設定を極力減らしています。
【2】ビルド・メトリクス計算
取得した設定ファイルに基付き、ビルドとメトリクスを算出します。Javaであれば、JUnitによるテスト、Coberturaによるカバレッジの取得、そのほかのメトリクス情報が算出されます。
【3】メトリクス情報登録
算出されたメトリクスはSonarプラグインから直接データベースに書き込まれます。データベースの設定については後述しますが、データベースを変更する場合はMavenの設定が必要です。
【4】設定、参照
ユーザーは、WebブラウザでSonarにアクセスします。デフォルトのポートは9000番です。Webの画面からSonarに関する設定やメトリクスの閲覧を行います。閲覧時には、データベースからメトリクス情報を取得して画面を作成します。
潜水艇「Sonar」に試乗してみよう!
繰り返しますがSonarは、デフォルトではJava言語に対応しています。本稿では、Windows上でJavaアプリケーションを開発することを前提に、Windows上での動作を前提に利用方法を紹介します。もちろんJavaアプリケーションなのでWindows以外のOSでも動かせます。
なおSonarの利用には、メモリがそれなりに必要です。1Gbyte以上のメモリを値搭載しているPCで試してください。
Sonarを利用する準備
Sonarを利用するためには、JDK/JREとMavenが必要です。JDK/JRE(1.6以降)、Mavenをダウンロードし、適当なディレクトリにインストールしてください。
また、適当なMavenプロジェクトを準備してください。Mavenプロジェクトを持っていない場合は、Trac Lightningのサンプルコードなどをご利用ください。TracLightningのMavenのサンプルプロジェクトは、「http://svn.sourceforge.jp/svnroot/traclight/trunk/install/repository/LibraryProject/trunk/」からSubversionで取得できます。
インストール・起動
Sonarのサイトからダウンロード、インストールします。インストールしたSonarのディレクトリに移動し、下記のコマンドにより、Sonarを起動してください(Windowsの場合)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ここでは、試しで利用するため、コマンドライン上でSonarを実行する方法を紹介しましたが、Windowsサービスとして登録、実行することもできます。Windowsサービとして利用するには、「bin\windows-x86-32」内の下記のコマンドを利用します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
MavenのSonarプラグインを実行
Mavenのプロジェクトから、下記のコマンドによりMavenのSonarプラグインを実行すればSonarにメトリクス情報が登録されます。Sonarプラグインを実行する前に、cleanコマンドでプロジェクトをクリーンにしておくといいでしょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Sonarを起動してすぐにMavenを実行すると、Sonarが起動が完了していないため、エラーになることがあります。そのような場合は、少し時間を置いてからコマンドを実行してみてください。
Webブラウザで確認
Sonarプラグインの実行後、「http://localhost:9000/」にアクセスすると、Sonarの画面が表示されます。
先ほど実行したMavenのプロジェクトが登利用録されているので、表示しているクリックするとメトリクス情報を見られます。
色が付いているものは、オレンジが警告で赤が危険、緑が安全の意味を示します。メトリクスごとに“しきい値”が設定され、しきい値を超えると色が付くようになっています。メトリクスをクリックすると、パッケージごとの詳細が表示されます。
デフォルトの状態では、次のメトリクスを取得できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
メトリクスの詳細については、Codehausの「Metric definitions」に記載されているので、興味がある方は、そちらもご覧ください。
次ページでは引き続き、基本的なSonarの使い方や、プロファイルをカスタマイズする方法を解説します。
Copyright © ITmedia, Inc. All Rights Reserved.