SonarQubeをローカルで実行する手順
はじめに
Septeni Japan グローステクノロジー本部の小塚です。
私が所属しているチームでは広告出稿業務アプリケーションの開発をしており、高品質を保つためコード複雑性低減に取り組んでいます。その取り組みの一つとして、今回はコードの品質やセキュリティ分析ツールとして広く使用されているSonarQubeをmacOS環境で実行してみました。この記事では、SonarQubeをローカルでセットアップし、プロジェクトを解析した手順を紹介します。
前提環境
- MacOS 15.1
- JDK 17以上
(参考 -> https://docs.sonarsource.com/sonarqube-server/latest/setup-and-upgrade/installation-requirements/server-host/#software-requirements)
手順
Step 1: SonarQubeServerのダウンロードとインストール
brew install sonarqube
Step 2: Sonar-Scannerのダウンロードとインストール
brew install sonar-scanner
Step 3: SonarQube サーバーの起動
以下スクリプトを実行してサーバーをスタートします
PATH_TO_SONARQUBE/bin/macosx-universal-64/sonar.sh start
私の場合は以下のようなコンソールログとなります。
h_kozuka@N01355015 ~ % /Users/h_kozuka/Downloads/sonarqube-10.7.0.96327/bin/macosx-universal-64/sonar.sh start
/usr/bin/java
Starting SonarQube...
Started SonarQube.
SonarQubeが正常に起動されたことを確認するために、ブラウザでhttp://localhost:9000
にアクセスします。初回ログインのデフォルトのユーザー名とパスワードは両方ともadmin
です。
Step 4: SonarQube コンソールでプロジェクトの作成
Projects -> Create Projects -> Manually でプロジェクトを作成
プロジェクト作成画面で必要項目を入力します
・Project display name
プロジェクト名
・Project key
プロジェクトを一意に認識できるキー
・Main branch name
上記でManuallyでプロジェクトを作成した場合は、デフォルトで「main」となっています。今回は特に変える必要もないのでこのままにします。
Step 5: tokenの作成
アカウントのセッティングから解析に必要なトークンを作成します。
ヘッダーのアカウントアイコンボタン -> My Account -> Security
Generate Tokensセクションで必要事項を入力して、トークンを発行します。
トークンは一回しか表示されないので、安全な場所に保管しておきます。
Step 6: プロジェクトの解析
ここまで来たら、プロジェクトを解析します。スキャンを実施したいプロジェクトのルートディレクトリに移動し、次のコマンドを実行します。
(your_project_key と your_token は上記で作成したものを入力)
$ sonar-scanner \
-Dsonar.projectKey=your_project_key \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=your_token
Step 7: コンソールで結果を確認
結果はこのような形でコンソール上で確認が可能です。
(*Sonar Qubeのバージョンによっては、UIが若干異なるようです)
Reliability,Security,Maintainabilityなど、項目に対してRatingがされて、ファイルやフォルダごとにスコアを表示してくれます。
ビジュアルで表示してくれるのでとても分かりやすいです。
まとめ
今回はSonarQubeをmacOS環境で実行し、プロジェクトを解析する手順を紹介してみました。チームとしては、コード解析で複雑性を可視化し、定点チェックをすることで高品質を維持できるようにしていこうと考えています。
実際のコード解析の結果で得た知見については、また別の機会にご紹介します。
ここまでお読みいただきありがとうございました!
Discussion