サーバーとクライアントがある。V5.1ではJDK7以上が必要。内部でElasticSearchを利用しており、メモリをかなり利用するので注意。またバージョンアップが早くV6だとMySQL5.6以上を必要とするなどハードウェア&ミドルウェアの条件が厳しい。2019年ならdockerで試すのが楽。
docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest
http://localhost:9000/ のadmin/adminで入れる
mvn compile sonar:sonar -Dsonar.login=admin -Dsonar.password=admin -Dsonar.svn.username=xxx -Dsonar.svn.password.secured=xxx
sonar-scanner -Dsonar.projectKey=tftool -Dsonar.sources=. -Dsonar.host.url=http://localhost:9000 -Dsonar.login=TOKEN -Dsonar.svn.username=xxx -Dsonar.svn.password.secured=xxx
sudo wget -O /etc/yum.repos.d/sonar.repo http://downloads.sourceforge.net/project/sonar-pkg/rpm/sonar.repo sudo yum -y install sonar
ProxyPass /sonar http://localhost:9000/sonar nocanon ProxyPassReverse /sonar http://localhost:9000/sonar ProxyRequests Off AllowEncodedSlashes NoDecode
コンテキストパス/sonarを定義する。
sonar.web.context=/sonar
admin/admin
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true sonar.web.context=/sonar
事前にsonarデータベースとsonarユーザーを作成しておくこと!
メモリの設定はこちらで!
プラグインはDB移行ではついてこないので、手動で入れる
プラグイン名 | 備考 |
checkstyle | |
Cobertura | A code coverage utility for Java |
yumパッケージもある
sudo wget -O /etc/yum.repos.d/sonar.repo http://downloads.sourceforge.net/project/sonar-pkg/rpm/sonar.repo sudo yum install sonar
maven-sonar pluginを利用すれば実行可能。デフォルトでlocalhost:9000に行く。docker sonarなら以下だけでOK。設定が毎回引数で与えるのが面倒ならばsettings.xmlへ記載
mvn compile sonar:sonar -Dsonar.java.binaries=target/classes
http://yoshio.velvet.jp/blog/archives/4076
ruby on railsをjavaで動かしている模様。viewも.erbファイルとなる。
SONARQUBE_DIR/web/WEB-INF/app/views/
SONARQUBE_DIR/web/WEB-INF/app/controllers/ http://docs.sonarqube.org/display/DEV/Extend+Web+Application