SonarQubeを使ってみた #sonarqube
概要
Javaで作ってるリポジトリにSonarQubeを適用してみました。
SonarQubeとは?
SonarQubeは、ソースコードの静的解析ツールです。
今回はオープンソースであれば無料で使えるSonarQube.comを利用します。
アカウント
GitHubアカウントがあれば、それを利用してログインできます。
https://sonarqube.com/sessions/new
トークンの発行
適当な名前を付けて、トークンを発行します。
トークンはどこかに退避しておきます。
https://sonarqube.com/account/security
Organizationsの確認
Organizationsを確認します。
デフォルトで personal organization
が作られているはずです。
※自分の場合は su-kun1899-github
でした。
https://sonarqube.com/account/organizations
実行してみる
自分のプロジェクトはMavenを使っているので、mvnコマンドから実行します。
mvn sonar:sonar \ -Dsonar.host.url=https://sonarqube.com \ -Dsonar.organization=<あなたのorganization> \ -Dsonar.login=<あなたのトークン>
※Maven周りの設定の詳細は下記を参照
Analyzing with SonarQube Scanner for Maven - Scanners - Doc SonarQube
結果を確認してみる
ビルドログに下記のようなURLが出ているのでアクセスしてみます。
[INFO] ANALYSIS SUCCESSFUL, you can browse https://sonarqube.com/dashboard/index/red.sukun1899:shishamo
いい感じです。
CIに組み込む
CircleCIを使っているのでymlファイルに追加ます。
test: override: - mvn integration-test - mvn sonar:sonar -Dsonar.host.url=https://sonarqube.com -Dsonar.organization=su-kun1899-github -Dsonar.login=${SONAR_QUBE_TOKEN}
まとめ
get-started
に従ってやったら簡単にできました。
静的解析をかけて修正すべきポイントも見つかりました。
https://about.sonarqube.com/get-started/
実際に適用したプロジェクトはこちら。