はじめに
JavaでAndroidアプリの開発を行うときにSonarQubeを導入した時の手順を記載していきます。
ミニマムで導入した手順です。
Kotlinはもう少しシンプルにできると思います。
環境
OS:Windows 10(64bit)
Java:11
Android Studio:3.5
SonarQube
SonarQubeとは静的解析ツールの一つでJava, Kotlin, Swift, Goなど25以上の言語をサポートしているようです。
JenkinsやAzure DevOpsと連携することでCIツールの強化を図ることができるようです。
詳細は公式ドキュメントを参照してください。
導入手順
基本的には公式のGet Started in Two Minutes Guideに沿って行きます。
1.SonarQube Serverのインストール
以下のリンクからDownloadします。
Download SonarQube
適当な場所に展開します。
今回は以下の構成にします。
C:\SonarQube\SonarQubeServer
2.SonarQubeServerを起動
以下にあるbatを実行するだけです。
C:\SonarQube\SonarQubeServer\bin\windows-x86-64
C:\SonarQube\SonarQubeServer\bin\windows-x86-64>StartSonar.bat
http://localhost:9000/ にアクセスするとSonarQube Serverの画面を確認できます。
3.Gradleの設定
プロジェクト配下のbuild.gradleの編集を行います。
build.gradleの先頭に以下を追記します。
plugins {
id "org.sonarqube" version "2.7"
}
4.gradle.propertiesの設定
ここからはアプリ側の設定を行っていきます。
公式ではSonarScanner for Gradleを参考にしてます。
gradle.propertiesに以下を追記します。
# gradle.properties
systemProp.sonar.host.url=http://localhost:9000
#----- Token generated from an account with 'publish analysis' permission
systemProp.sonar.login=<token>
tokenはSonarQube Serverから取得します。
5.Tokenの取得
SonarQube Serverに戻ります。
(1) 右上のLog inからログイン
ユーザー名:admin
パスワード:admin
(2) 右上のユーザーアイコンのMy Accountから管理者画面に移動
(3) Securityのタブを選択
(4) Tokensのところにプロジェクト名を入れてTokenを取得
6.実行
以下のいずれかで静的解析を実行
(1) Android SrudioのGradle > app > Tasks > other > sonarqubeをダブルクリック
(2) プロジェクト配下で以下を実行
./gradlew sonarqube
7.確認
http://localhost:9000 にアクセスしてappが表示されれば完了
参考文献
・公式
・SONNARQUBEでソースコードの品質を解析する
最初にSonarQubeを導入するにあたって参考にさせていただきました。Kotlinのプロジェクトはこちらの記事で解析まで行うことができました。