1. はじめに
Windowsに静的ソースコード解析を行うSonarQubeサーバをインストールする方法と、そのリポジトリとしてPostgreSQLを利用するように変更する方法について説明します。
なお、SonarQubeの初期状態はインメモリデータベースのh2dbを利用します。
1.1. 検証環境
- Java 1.8.0_131
- SonarQube 5.6.6
2. インストール手順
2.1. 資材のダウンロードとインストール
https://www.sonarqube.org/downloads/ からSonarQubeのZipファイルをダウンロードします。今回は「sonarqube-5.6.6.zip
」としました。
インストールはダウンロードしたZipファイルを展開すれば完了です。
ここではC:\work
にインストールすることにします。
2.2. 起動と停止
{SonarQubeのインストールディレクトリ}/bin
にOS種別毎のディレクトリがあります。例えば64bit版Windowsの場合は「windows-x86-64
」ディレクトリになります。起動、停止等のスクリプトはここに格納されています。
例)windows-x86-64 起動、停止のスクリプト
項番 | スクリプト | 説明 |
---|---|---|
1 | InstallNTService.bat | SonarQubeサーバをWindowsのサービスとして登録する |
2 | StartNTService.bat | SonarQubeのサービスを開始する |
3 | StartSonar.bat | SonarQubeサーバを通常のプロセスとしてコマンド実行する |
4 | StopNTService.bat | SonarQubeのサービスを停止する |
5 | UninstallNTService.bat | 登録されているSonarQubeのサービスを削除する |
6 | wrapper.exe | Javaのラッパー |
今回はコマンドプロンプトから「StartSonar.bat
」スクリプトを実行して、SonarQubeサーバを起動します。
C:\work\sonarqube-5.6.6\bin\windows-x86-64>StartSonar.bat
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM...
jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
... 省略 ...
jvm 1 | 2017.09.25 20:39:02 INFO app[o.s.p.m.Monitor] Process[ce] is up
Webブラウザで http://localhost:9000/ にアクセスして、トップ画面が表示されれば正常にインストールされています。
ちなみに、トップ画面の下部にデフォルトの組み込みDBは評価目的で利用してね、という警告メッセージが表示れていると思います。
Embedded database should be used for evaluation purpose only
The embedded database will not scale, it will not support upgrading to newer versions of SonarQube, and there is no support for migrating your data out of it into a different database engine.
SonarQubeサーバを終了させるには、起動させたコマンドプロンプトでCtrl+Cで終了します。
3. PostgreSQL対応
3.1. リポジトリとして利用するデータベースの準備
SonarQubeのリポジトリとして利用するデータベースを作成します。スキーマの構築はSonarQubeが実施してくれるため、データベースとアクセスできるユーザを作成するだけです。
項番 | 項目 | 値 |
---|---|---|
1 | ポート番号 | 5432 |
2 | データベース名 | sonarDb01 |
3 | ユーザID | sonarUser |
4 | パスワード | sonarPass |
3.2. コンフィグレーションの修正
準備したデータベースにアクセスするため{SonarQubeのインストールディレクトリ}/conf/sonar.properties
を修正します。
(修正前)
#sonar.jdbc.username=
#sonar.jdbc.password=
↓
(修正後)
sonar.jdbc.username=sonarUser
sonar.jdbc.password=sonarPass
(修正前)
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
↓
(修正後)
sonar.jdbc.url=jdbc:postgresql://127.0.0.1:5432/sonarDb01
3.3. 動作確認
先程と同様にStartSonar.bat
でSonarQubeサーバを起動した後、Webブラウザで http://localhost:9000/ にアクセスします。
トップ画面を確認すると警告メッセージはなくなり、画面下部のフッターが以下のように表示されると思います。
SonarQube™ technology is powered by SonarSource SA
Version 5.6.6 - LGPL v3 - Community - Documentation - Get Support - Plugins - Web API
4. さいごに
WindowsにSonarQubeサーバをインストールする方法と、リポジトリとしてPostgreSQLを利用するように変更する方法について説明しました。
通常のシステム開発ではCIにて静的ソースコード解析を実行し、その結果を保持し続けるため、デフォルトのh2dbを利用することはほぼありません。
今回はPostgreSQLを利用しましたがMySQLやOracle、SQL Serverにも対応していますので、開発システムで利用するRDBMSをリポジトリとして利用することをお勧めします。