#author("2021-11-05T10:58:13+00:00","default:wikiadmin","wikiadmin") -コードチェックツール。 #contents *インストール [#wed642bd] サーバーとクライアントがある。V5.1ではJDK7以上が必要。内部でElasticSearchを利用しており、メモリをかなり利用するので注意。またバージョンアップが早くV6だとMySQL5.6以上を必要とするなどハードウェア&ミドルウェアの条件が厳しい。2019年ならdockerで試すのが楽。 **Dockerバージョン [#cb5adbe8] 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 -ESが起動しないことがある vm.max_map_count [65530] is too low ***PHPをスキャン [#n711c215] +プロジェクト作成 +Sonar-scannerをダウンロードしてパスを通す +コマンドが出るのでそのとおりに実施 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 **SonarQube Server インストールと起動 [#x7ddbdee] +zipダウンロード、解凍 +batまたはshをたたく +http://localhost:9000/にアクセス **SonarQube YUMインストール [#s263275e] sudo wget -O /etc/yum.repos.d/sonar.repo http://downloads.sourceforge.net/project/sonar-pkg/rpm/sonar.repo sudo yum -y install sonar **Apacheとの連携 [#s5a1a1e2] -sonar.confとして/etc/httpd/conf.dあたりに配置 ProxyPass /sonar http://localhost:9000/sonar nocanon ProxyPassReverse /sonar http://localhost:9000/sonar ProxyRequests Off AllowEncodedSlashes NoDecode -sonar.properties更新 コンテキストパス/sonarを定義する。 sonar.web.context=/sonar **初期設定管理者アカウント [#h3c6d655] admin/admin *設定 [#d2885102] -SONAR_HOME/conf/sonar.propertiesファイルで設定を行う。MySQLに接続するなら以下の3行だけでよい。sonar.web.contextは/sonarでアクセスするためのもの。 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ユーザーを作成しておくこと! -sonar.web.javaOpts メモリの設定はこちらで! **プラグイン [#h4ea5c0a] プラグインはDB移行ではついてこないので、手動で入れる |プラグイン名|備考| |checkstyle|| |Cobertura|A code coverage utility for Java| *yumインストール [#z89c85bd] yumパッケージもある sudo wget -O /etc/yum.repos.d/sonar.repo http://downloads.sourceforge.net/project/sonar-pkg/rpm/sonar.repo sudo yum install sonar *コード解析の実行 [#p0ecd99e] **maven [#j75543d5] maven-sonar pluginを利用すれば実行可能。デフォルトでlocalhost:9000に行く。docker sonarなら以下だけでOK。設定が毎回引数で与えるのが面倒ならばsettings.xmlへ記載 mvn compile sonar:sonar -Dsonar.java.binaries=target/classes *Jenkinsとの連携 [#iaa6f9b0] *記事 [#y4258d2d] http://yoshio.velvet.jp/blog/archives/4076 *移行 [#ke9d4a8f] +DB移行(mysqldump) +http://SONARSERVER:9000/sonar/setup実行 *カスタマイズ [#af8e6d77] ruby on railsをjavaで動かしている模様。viewも.erbファイルとなる。 **view置き場 [#l79facab] SONARQUBE_DIR/web/WEB-INF/app/views/ **controller置き場 [#p7ca0655] SONARQUBE_DIR/web/WEB-INF/app/controllers/ http://docs.sonarqube.org/display/DEV/Extend+Web+Application