Sonarのプラグインを使うには?
Sonarは、EclipseやTracなどのほかのツールと同じようにプラグインにより、Java以外の言語に対応したり、取得できるメトリクスを増やせます。プラグインはjarファイルで提供されています。
ここでは、Tracのチケットの統計情報を表示するTrac Pluginを例にプラグインのインストールと利用方法を紹介します。
プラグインの取得・インストール
Sonarのプラグインは、「Sonar Plugin Library」でさまざまなものが提供されています。ここから、プラグインをダウンロード、インストールします。
Trac Pluginのサイトで取得できるので、このサイトより「tracplugin-x.x.x.jarファイル」(x.x.xはバージョン番号)をダウンロードし、Sonarをインストールしたディレクトリの「extensions\plugins」ディレクトリにプラグインファイルをコピーすれば、インストールは完了です。Sonarを再起動すると、プラグインは有効になります。
プラグインの設定
プラグインによって設定方法は異なりますが、tracpluginの場合、Mavenのビルドファイル(pom.xml)に課題管理システムを設定すると有効になります。課題管理システムを設定するには、pom.xmlのプロジェクトの設定(projectタグ)に次のように記述します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
また、プロジェクトのSettings画面で、Tracの設定ができます(※Settings画面を表示するには、adminでログインする必要があります)。
後は、通常どおり、MavenのSonarpプラグインを利用するとTracのチケット情報が登録され、ダッシュボードに表示されるようになります。
なお、tracpluginはXMLRPCを利用してtracと通信するため、TracへXML-RPCプラグインを導入しanonymousユーザーにXML_RPC権限を付与しておく必要があります。TracLightningをお使いの場合は、XML_RPCプラグインは導入済みなので、anonymousユーザーにXML_RPC権限を付与してください。
また、ユーザー/パスワードを設定画面で設定できるようになっていますが、Basic認証にしか対応していないようです。Digest認証を利用している場合は、Basic認証に変更する必要があるので、注意してください(TracLightningはDigest認証を利用しています)。
Sonarの多くのプラグインは、プラグインをインストールするとSettings画面でプラグインの設定ができます。プラグインをインストールしたら、取りあえずSettings画面を確認してみるといいでしょう。
デフォルトのDBをMySQLに変更するには?
Sonarはデフォルトでは、データベースにApache Derbyを利用します。Apache Derbyを筆者が確認した限りでは特に不具合は見られませんでしたが、Sonarのページによると、プロジェクトで運営する場合は、MySQLなどのエンタープライズクラスのデータベースを利用することが推奨されています。
ここでは、データベースをApache DerbyからMySQLへ変更してみましょう。MySQLを利用するには、以下の3つの手順が必要です。それぞれ見ていきましょう。
- データベースの設定
- Sonarの設定
- Mavenの設定
【1】データベースの設定
設定を行うスクリプトがSonarをインストールしたディレクトリの下の「extras\database\mysql\create_database.sql」にありますので、管理者権限でmysqlスクリプトを実行します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
【2】Sonarの設定
Sonarをインストールしたディレクトリの下のconf\sonar.propertiesファイルを編集し、Apache Derbyの設定をコメントアウトし、MySQLの設定のファイルを書き換えます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
sonar.propertiesの変更点
【3】Mavenの設定の変更
最後に、Mavenでビルドを行うマシンでMavenの設定ファイルを編集します。Mavenの設定ファイルは、Mavenをインストールしたディレクトリの下のconf\settings.xmlにあります(ユーザーホームの下の.m2ディレクトリの下のファイルでも可能です)。
設定は、「settings/profiles」タグ以下に下記のようにSonarのプロファイルを記述します。ビルドマシンの構成上、Sonarを起動したサーバとビルド用のサーバを分けたい場合は、sonar.host.urlをSonarを起動するサーバを指定します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
settings.xmlの編集内容
Sonarでメトリクスマスターになろう!
MavenとMavenの各種のプラグインFindBugsやPMD、CheckStyle、CPD、Cobertura……を利用すれば、Sonarで取得できるメトリクスと同じ情報は取れます。しかしながら、個別にビルドファイルを設定する必要がありますし、メトリクスの閲覧も個別のプラグインの出力結果を確認する必要があり、全体を俯瞰(ふかん)するのは困難です。
Sonarを利用すれば、簡単にメトリクスを取得でき、なおかつ、全体を俯瞰できます。また、プラグインアーキテクチャにより、機能を追加したり、足りないメトリクスも追加できます。
Sonarの導入は非常に簡単です、Mavenのビルドファイルを変更する必要がなく、単にSonarサーバを用意してSonarプラグインを利用するだけで導入できます。すでに、何らかのメトリクス取得ツールや、コーディング規約違反検出ツールを導入しているプロジェクトは多いと思いますが、既存のプロジェクトへの影響も小さいので、Sonarを導入して取得するメトリクスの幅を広げてみてはいかがでしょうか。
- exe/dmgしか知らない人のためのインストール/パッケージ管理/ビルドの基礎知識
- これでGitも怖くない! GUIでのバージョン管理が無料でできるSourceTreeの7つの特徴とは
- DevOps時代の開発者のためのOSSクラウド運用管理ツール5選まとめ
- GitHubはリアルRPG? そして、ソーシャルコーディングへ
- ついにメジャーバージョンUP! Eclipse 4.2の新機能7選
- いまアツいアジャイルプロジェクト管理ツール9選+Pivotal Tracker入門
- Git管理の神ツール「Gitolite」なら、ここまでできる!
- Java開発者が知らないと損するPaaSクラウド8選
- Eclipse 3.7 Indigo公開、e4、Orion、そしてクラウドへ
- AWSの自由自在なPaaS「Elastic Beanstalk」とは
- Ant使いでもMavenのライブラリ管理ができるIvyとは
- 「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門
- Bazaarでござ〜る。猿でもできる分散バージョン管理“超”入門
- Review Boardならコードレビューを効率良くできる!
- Team Foundation ServerでJava開発は大丈夫か?
- コード探知機「Sonar」でプロジェクトの深海を探れ!
- 単体テストを“神速”化するQuick JUnitとMockito
- Java EE 6/Tomcat 7/Gitに対応したEclipse 3.6
- AzureのストレージをJavaで扱えるWindowsAzure4j
- 究極の問題解析ツール、逆コンパイラJD-Eclipseとは
- AWS ToolkitでTomcatクラスタをAmazon EC2上に楽々構築
- DB設計の神ツール「ERMaster」なら、ここまでできる
- Webのバグを燃やしまくるFirebugと、そのアドオン7選
- Googlerも使っているIntelliJ IDEAのOSS版を試す
- JUnit/FindBugs/PMDなどを総観できるQALab/Limy
- ブラウザを選ばずWebテストを自動化するSelenium
- Eclipse 3.5 Galileoの「実に面白い」新機能とは
- App Engine/AptanaなどJavaクラウド4つを徹底比較
- Aptanaなら開発環境とクラウドの連携が超お手軽!
- 分散バージョン管理Git/Mercurial/Bazaar徹底比較
- SubversionとTracでファイル管理の“迷宮”から脱出
- Trac Lightningで始めるチケット式開発「電撃」入門
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- これはすごい!? コード品質のカイゼン化プラグイン2種
CoolなEclipseプラグイン(24) - 第1回 Eclipseテストツール活用の基礎知識
Eclipseで使えるテストツールカタログ - 第2回 Eclipseで使える静的解析ツール
Eclipseで使えるテストツールカタログ - 第3回 Eclipseで使えるメトリクス計測ツール
Eclipseで使えるテストツールカタログ - 第4回 Eclipseで使える動的テスト支援ツール
Eclipseで使えるテストツールカタログ - 第5回 Eclipseで使える機能テストツール
Eclipseで使えるテストツールカタログ - ソースコードの宝石箱、●●Forgeを見逃すなかれ
安藤幸央のランダウン(39)