ブログ::=(メモ|落書き)帳

ででででーん!!

SonarQubeをUbuntu14.04にインストール

コードの品質管理ツールであるSonarQubeのインストール手順をまとめる。 SonarQubeの説明は、ユカイ、ツーカイ、カイハツ環境!(17):コード探知機「Sonar」でプロジェクトの深海を探れ! (1/4) - @ITを読むべし。

SonarQubeのセットアップ

SonarQubeは、以下の3つのコンポーネントを必要とする。

  1. データベース
  2. Webサーバ
  3. アナライザ

データベースとアナライザはいくつか選択肢があるけど、今回は、データベースをMySQL、アナライザはMavenのPluginを使う。 他の構成で設定したければ、Installing - SonarQube - Confluenceを参考に。

MySQLの設定

MySQLのインストールはネット調べればすぐ出るので今回は省略し、設定だけ書く。

まず、ターミナルで以下のコマンドを打つ。

mysql -u root -p

次に以下の設定を行う。

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;

↓こんなの↓を用意してくれているのでそれを使用すればいいと思う。 sonar-examples/scripts/database/mysql at master · SonarSource/sonar-examples · GitHub

Web serverのインストール

/etc/apt/sources.listに以下の内容を追加する。

deb http://downloads.sourceforge.net/project/sonar-pkg/deb binary/

そして以下のコマンドを打つ。

$sudo apt-get update
$sudo apt-get install sonar

次に、/opt/sonar/conf/sonar.propertiesを以下のように編集する。

# The schema must be created first.
sonar.jdbc.username=sonar #コメントを外す。
sonar.jdbc.password=sonar #コメントを外す。

#----- MySQL 5.x
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance #コメントを外す。

設定が完了たら、SonarQubeを実行する。

$sudo service sonar start

http://localhost:9000にアクセスし、以下の画面が表示されれば準備完了。 f:id:radian19831019:20150316011346p:plain

アナライザでメトリクス収集する

Mavenのプロジェクトからアナライザを実行して、メトリクスの収集結果をWebサーバで確認する。 今回は以下のプロジェクトで確認する。

sonar-examples/projects/languages/java/maven/java-maven-simple at master · SonarSource/sonar-examples · GitHub

java-maven-simple/pom.xmlに以下の設定を追加する。

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <sonar.language>java</sonar.language>
    <!-- ここから -->
        <sonar.jdbc.url>
            jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8
        </sonar.jdbc.url>
        <sonar.jdbc.username>sonar</sonar.jdbc.username>
        <sonar.jdbc.password>sonar</sonar.jdbc.password>

        <sonar.host.url>
            http://localhost:9000
        </sonar.host.url>
    <!-- ここまで追加 -->
  </properties>

以下のゴールを実行する。

$mvn sonar:sonar

エラーなく完了すると、http://localhost:9000に「Simple Java Maven Project」が追加される。 f:id:radian19831019:20150316012518p:plain

projectsタブの「Simple Java Maven Project」をクリックすると、プロジェクトの詳細なメトリクスが表示される。 f:id:radian19831019:20150316012749p:plain

以上で、SonarQubeのインストールが完了!

参照URL

Setup and Upgrade - SonarQube - Confluence
Sonar native packages

Amazon.co.jpアソシエイトやってます!