Windows 10 に SonarQube をインストールするのは簡単ではありませんが、注意すべき点がわかっていれば実行可能です。多くの場合、最も大きな問題は、特に Java やデータベースで、依存関係の不足や構成ミスから生じます。SonarQube を実行しようとしたが起動しない場合やダッシュボードが表示されない場合は、これらの手順でトラブルシューティングを行い、少なくともローカルで実行できるようになるはずです。少し奇妙に感じるかもしれませんが、サーバーを再起動したり、構成ファイルを二重に確認するだけで問題が解決する場合があります。通常、Java がスムーズに実行され、データベース接続情報が正確であることを確認することが重要です。すべてが整ったら、品質とセキュリティの問題がないかコードを分析し始めることができます。ここでは、実際の問題に基づいたヒントをいくつか交えながら、手順を追って説明します。
Windows 10にSonarQubeをインストールして修正する方法
Javaが正しくインストールされ、設定されていることを確認する
SonarQube が起動しない場合は、まずJavaがインストールされ、正しく設定されているかどうかを確認してください。SonarQube は通常 Java 11 が必要ですが、SonarQube のドキュメントでバージョンを確認してください。
- Oracle の Web サイトから最新の JDK をダウンロードするか、OpenJDK を使用します。
- インストールしたら、コマンドプロンプトを開いてを実行します
java -version
。正しいJavaバージョンが表示されれば問題ありません。そうでない場合は、戻ってJAVA_HOME環境変数を設定してください。設定するには、 「This PC」を右クリックし、「Properties」を選択して、「Advanced system settings」を選択します。「Environment Variables」で、JAVA_HOMEを追加または編集し、JDKフォルダ( などC:\Program Files\Java\jdk-11.0.x
)を指すように設定し、Path%JAVA_HOME%\bin
変数に追加します。
一部のマシンではすぐには動作しない場合がありますので、コマンドプロンプト、または必要に応じてPCを再起動してください。こうすることで、Javaがシステムパスに追加され、SonarQubeがそれを検出できるようになります。
SonarQubeをダウンロードして解凍する
SonarQubeのダウンロードページにアクセスして、必要なエディションを入手してください。コミュニティ版は無料ですが、エンタープライズ向けであれば、より多くの機能を備えた有料版がおすすめです。zipファイルをC:\SonarQubeのような場所に解凍してください。特に問題はありませんが、フォルダパスにスペースや不要な文字が含まれていないことを確認してください。そうでないと、SonarQubeが動作しなくなる可能性があります。
データベースを正しく構成する
SonarQubeには独自のデータベースが含まれていないため、PostgreSQLやMySQLなどのデータベースが必要になります。私が試したセットアップでは、PostgreSQLが最も簡単でした。新しいデータベースとユーザーを作成してください。例:
CREATE DATABASE sonarqube; CREATE USER sonaruser WITH PASSWORD 'yourpassword'; GRANT ALL ON DATABASE sonarqube TO sonaruser;
次に、C:\SonarQube\conf\sonar.propertiesを開き、データベース接続情報を更新します。
sonar.jdbc.username=sonaruser sonar.jdbc.password=yourpassword sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
ファイルの調整を忘れたり、変更後にサーバーを再起動しなかったりすると、この部分で多くの人がつまずいてしまいます。
SonarQubeサーバーを起動する
解凍したSonarQubeディレクトリ内のbinフォルダに移動します。Windowsの場合は、おそらくC:\SonarQube\bin\windows-x86-64です。StartSonar.batを右クリックし、 「管理者として実行」を選択します。
はい、ログがちらほら表示されたり、コマンドプロンプトがポップアップ表示されたりするかもしれません。動作が遅くなったりエラーが出たりしても慌てる必要はありませんが、Javaやデータベースに関するエラーが表示された場合は、パスと設定をもう一度確認してください。ハングアップした場合、プロセスを強制終了して再起動する人もいます。設定によっては、最初の実行は失敗しても、再起動や一時ファイルの削除を行うと、次回の実行で正常に動作することもあります。
ブラウザでダッシュボードにアクセスする
サーバーが正常に起動したら、お気に入りのブラウザでhttp://localhost:9000admin
を開いてください。デフォルトの認証情報( / )でログイン画面が表示されます。admin
画面が読み込まれない場合は、サーバーが起動していること、およびファイアウォールがポート9000をブロックしていないことを確認してください。
場合によっては、サーバーまたは PC を再起動するだけで状況が変わります。Windows と SonarQube は、必ずしも最初の試行で正常に動作するとは限りません。
トラブルシューティングのための追加のヒント
SonarQube が起動しない、または途中でクラッシュする場合は、 C:\SonarQube\logsに保存されているログを確認してください。Java、データベース、またはメモリに関連するエラーがないか確認してください。設定によっては、 sonar.propertiesでヒープサイズを増やすと改善する場合があります。
# For example, add these lines at the end wrapper.java.opts=-Xmx4g -Xms512m
実際には、マシンによってはもう少しヒープ容量が必要になる場合があります。メモリエラーが発生した場合は、ヒープ容量を増やしてください。また、特に複数のJDKがインストールされている場合は、Javaが競合するバージョンを実行していないことを確認してください。
まとめ
- Java 11+ をインストールし、必要に応じて環境変数を更新します。
- SonarQube をダウンロードしてセットアップし、パスがシンプルであることを確認します。
- 動作するデータベース接続を構成します。
- サーバーを起動し、何か問題が発生した場合はログを確認します。
- http://localhost:9000でダッシュボードにアクセスします。
まとめ
SonarQubeをローカルで起動して実行するのは、特にJavaやデータベースを扱う場合は必ずしも簡単ではありません。しかし、一度動作するようになれば、コードの品質が飛躍的に向上します。重要なのは、設定を二重に確認し、ログファイルを監視し、場合によっては再起動することです。最初は大変ですが、その後は日常的なメンテナンスで済みます。この方法が、複数のセットアップで同じようなフラストレーションを経験する人の助けになれば幸いです。もちろん、Windowsは必要以上に物事を難しくするのが大好きです。