見出し画像

SonarQubeをインストールしPython解析を行うまで【Windows】

静的コード解析ツール「SonarQube」をインストールし、Python解析してもらうまでの解説です。

非常に苦戦したので、備忘録としてこちらにまとめます。どなたかの参考になれば幸いです。


この記事では以下のものをインストールします。

  • Java JDK 17.0

  • SonarQube 10.7

  • SonarScanner 6.2


1. JDKのインストールと設定

JDK (Java Development Kit) はJavaプログラムを作成・コンパイル・実行するための開発者向けツールセットです。

SonarQubeはJAVA仮想マシン上で動作するアプリケーションであるため、Java (JRE/JDK) がインストールされている必要があります。

1-1. JDKのインストール

JDKがインストールされているかどうかは、コマンドプロンプトから以下のコマンドで確認できます。

javac -version

インストール済みの場合、以下のような結果が返ってきます。

javac 17.0.12

インストールされていない場合、こちらのサイトからインストールしてください。

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

1-2. Javaの環境変数の設定

まず、JDKの環境変数(PATH)が通っていることを確認します。

コマンドプロンプトにて以下のコマンドを実行すると、環境変数が設定されているか確認できます。

echo %JAVA_HOME%

環境変数が設定されている場合、以下のような結果が返ってきます。

C:\Program Files\Java\jdk-17

このような結果が返ってこなかった場合は、新しく環境変数を設定する必要があります。

Windowsの検索バーに「環境変数」と入力し、出てきた「システムの環境変数を編集」を開きます。

画面下部の「システム環境変数」の「新規」をクリックし、以下のように入力してOKを押します。変数値にはJDKがインストールされてる場所を指定します。

コマンドプロンプトを立ち上げ直し、環境変数が設定されていることを確認できればOKです。

続いて、「システム環境変数」の中にある、「Path」を選んだ状態で「編集」をクリック。

この中に「%JAVA_HOME%\bin」を追加してください。

2. SonarQubeとSonarScannerのインストール

SonarQubeはサーバー型プラットフォームであり、コードの解析はクライアントツールである「SonarScanner」で実行します。
この2つをインストールしていきます。

2-1. SonarQubeのインストール

以下のサイトからZIPファイルをダウンロードします。

「Community Build」を選択してダウンロードしてください。
メールアドレスの入力が求められますが、一番下の「Download only」をクリックすればダウンロードできます。

ダウンロードしたZIPファイルは、任意のディレクトリに解凍してください。
(ここではCドライブ直下に置いて説明します)

2-2. SonarScannerのインストール

以下のページから、Windows用のインストーラを選択してダウンロードしてください。

ZIPファイルがダウンロードされるため、任意のフォルダに解凍してください。(ここではCドライブ直下に置いて説明します)

2-3. SonarScannerの環境変数の設定

Windowsの検索バーに「環境変数」と入力し、出てきた「システムの環境変数を編集」を開きます。

画面下部の「システム環境変数」の「新規」をクリックし、以下のように入力してOKを押します。変数値にはSonarScannerを解凍した場所を指定します。

続いて、「システム環境変数」の中にある、「Path」を選んだ状態で「編集」をクリック。

この中に「%SONAR_SCANNER_HOME%\bin」を追加してください。

3. Python解析を実施

3-1. SonarQubeの起動

C:\sonarqube-10.7.0.96327\bin\windows-x86-64\StartSoner.bat を実行します。

サーバーが起動されるため、http://localhost:9000 にアクセスし、デフォルトの認証情報でログインしてください。

  • ユーザ名:admin

  • パスワード:admin

その後、パスワードの更新を求められるため、新しいパスワードに更新してください。

3-2. プロジェクトの作成

画面下部の「Create a local project」をクリックし、新しいプロジェクトを作成していきます。

プロジェクト名とプロジェクトキーを設定します。

「Use the global setting」をクリックし、プロジェクトを作成します。

続いて、認証トークンの設定をします。
画面右上のユーザアイコンを選択し、Securityタブから、トークンを生成してください。

このトークンは後の設定に使うので、保存しておいてください。

3-3. SonarScannerにプロジェクトを指定

C:\sonar-scanner-6.2.1.4610-windows-x64\conf\sonar-scanner.properties に、以下の記述を追加します。

sonar.host.url=http://localhost:9000
sonar.login=トークン

続いて、Pythonプロジェクトのルートディレクトリに sonar-project.properties を作成し、以下のように記述します。

sonar.projectKey=trial_python_project
sonar.projectName=TrialPythonProject
sonar.projectVersion=1.0
sonar.sources=.
sonar.language=py
sonar.sourceEncoding=UTF-8

3-4. 解析を実行

Pythonプロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。

sonar-scanner

すると、解析が実行されます。以下のような記述が最後の方に返ってこれば、解析完了です。

18:16:43.638 INFO  EXECUTION SUCCESS
18:16:43.638 INFO  Total time: 24.834s

3-5. 結果の確認

SonarQubeのWeb UIから、解析結果の確認ができます。

結果は以下のように表示されます。

テストコードを書いていないので、カバレッジは0%です😅

Issuesタブの中身に修正すべきポイントを列挙してくれるので、とても便利です。

いいなと思ったら応援しよう!