🎉

SonarQubeをローカルで実行する手順

2024/12/23に公開

はじめに

Septeni Japan グローステクノロジー本部の小塚です。
私が所属しているチームでは広告出稿業務アプリケーションの開発をしており、高品質を保つためコード複雑性低減に取り組んでいます。その取り組みの一つとして、今回はコードの品質やセキュリティ分析ツールとして広く使用されているSonarQubeをmacOS環境で実行してみました。この記事では、SonarQubeをローカルでセットアップし、プロジェクトを解析した手順を紹介します。

前提環境

手順

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