5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WindowsにPostgreSQL対応のSonarQubeをインストールする方法

Posted at

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サーバを起動します。

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.properties(14,15行目)
(修正前)
#sonar.jdbc.username=
#sonar.jdbc.password=

(修正後)
sonar.jdbc.username=sonarUser
sonar.jdbc.password=sonarPass
sonar.properties(36行目)
(修正前)
#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をリポジトリとして利用することをお勧めします。

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?