SonarQubeは静的な解析チェックが可能で、プログラムをスキャンさせることでソースの問題を検出してくれます。
Contents
事前準備
SonarQubeを動かすには下記を予めインストールしておきます。
- Javaのインストール
- MySQLのインストール
SonarQube
インストール
1 |
sudo yum install sonar |
DBの作成
SonarQube用のデータベースとユーザーを作成します。
1 2 3 |
mysql> CREATE DATABASE sonar; mysql> CREATE USER 'sonar'@'localhost' IDENTIFIED by 'sonar'; mysql> GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'localhost'; |
SonarQubeサーバの起動
1 |
$ service sonar start |
SonarQubeサーバの停止
1 |
service sonar stop |
SonarQube Scanner
sonar-scannerを使って解析する為、Scannerを導入します。
インストール
ダウンロードして任意の場所に設置します。
1 2 3 |
$ https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-最新のバージョン-linux.zip $ unzip sonar-scanner-cli-最新のバージョン-linux.zip $ mv sonar-scanner-最新のバージョン /etc/sonar-scanner |
sonar-scanner.properties
ファイル
1 |
$ vim /etc/sonar-scanner/conf/sonar-scanner.properties |
編集
1 2 3 4 5 6 7 8 9 10 11 12 |
#----- Default SonarQube server #sonar.host.url=http://localhost:9000 #----- Default source code encoding sonar.sourceEncoding=UTF-8 #----- Global database settings (not used for SonarQube 5.2+) sonar.jdbc.username=sonar sonar.jdbc.password=sonar #----- MySQL sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8 |
sonar-project.properties
ファイル
解析対象のrootにsonar-project.propertiesというファイルを作ります。
1 |
$ vim /etc/sonar-scanner/conf/sonar-scanner.properties |
編集
ファイルに解析対象先などを設定します。
1 2 3 4 5 6 7 8 9 10 11 12 |
# Required metadata sonar.projectKey=org.sonarqube:php-test-scanner sonar.projectName=PHP :: test php project :: SonarQube Scanner sonar.projectVersion=1.0 # Comma-separated paths to directories with sources (required) sonar.sources=application # Language sonar.language=php # Encoding of the source files sonar.sourceEncoding=UTF-8 # exclusions sonar.exclusions=src/vendor/**,src/tests/** |
静的解析の実行
1 |
$ /etc/sonar-scanner/bin/sonar-scanner |
SonarQubeのバージョンが5.5以下ならrunnerを使います。
1 |
$ /etc/sonar-scanner/bin/sonar-runner |