CentOS7にSonarQubeをインストールしアクセス確認まで
概要
sonarqube は
Java, Python, Ruby, PHP 等、複数言語のコードメトリクス集計ができる
優れものです。
以前 MacOSX ローカル環境で
Unity プロジェクト C#コードのコードメトリクス抽出方法をまとめました。
今回は CentOS7 上に構築する方法を以下にまとめました。
環境
- CentOS7 64bit
- Java 1.8
- ec2 t.micro
JDK インストール
1 | # cd /usr/local |
1 | # tar xvf jdk-8u45-linux-x64.tar.gz |
1 | # ln -s jdk1.8.0_45 latest |
環境変数 JAVA_HOME 設定
.bash_profile での設定ではユーザにより環境変数が異なるので
全ユーザ共通で設定する場合は /etc/profile.d/ 以下に shell を用意する。
1 | # echo "export JAVA_HOME=/usr/local/java/latest |
MySQL インストール
今回は同一サーバに MySQL インストールしています。
別途 MySQL サーバを立てる場合は不要です。
1 | # yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm |
SonarQube インストール
以下サイトにてダウンロード zip を取得します。
SonarQube Donwloads
※ 2016-05-19 時点 最新は ver 5.5
1 | # mkdir /usr/local/sonarqube |
環境変数 SONAR_HOME 設定
1 | # echo "setenv SONAR_HOME=/usr/local/sonarqube/sonar |
SonarQube から MySQL を利用できる様に設定
以下ファイルを編集し作成した DB にアクセスできるように設定します。
- /usr/local/sonarqube/sonar/conf/sonar.properties
1 | sonar.jdbc.username=sonar # DB User |
SonarQube が利用する java コマンド設定
以下ファイルを編集し SonarQube が利用する java コマンドを
インストールした JDK 内の java を指定するように変更
- /usr/local/sonarqube/sonar/conf/wrapper.conf
1 | #wrapper.java.command=java |
SonarQube 起動スクリプト設定
1 | # ln -s /usr/local/sonarqube/sonar/bin/linux-x86-64/sonar.sh /etc/init.d/sonar |
サーバ再起動
/etc/profile.d に設定した 環境変数を反映させるべくサーバ再起動します。
1 | # reboot |
アクセスして確認
http://<IPアドレス>:9000
SonarQube 管理ページが表示されれば OK です!
再起動後アクセスできない場合
SonarQube の設定を見直すか、もしくは、
今回利用している ec2 t2.micro のような小メモリの場合
メモリ不足で MySQL が落ちる可能性があります。
以下参照して対応してください。
あとがき
どんなプロジェクトでもここ修正したい!
と思うことは多々あるかと思います。
その際、なんとなくここ使いづらいから直そう!
という曖昧な判断ではなく
先立ってまず全体としてどういう状態にあるか、
を数値でみて判断する、
というプロセスが踏めるようになることを目的に導入しました。
次回は Jenkins からの実行方法をまとめます。
CentOS7にSonarQubeをインストールしアクセス確認まで
https://kenzo0107.github.io/2016/05/18/2016-05-19-install-sonarqube-on-centos7/