概要
ソースコードを解析、その解析結果を蓄積、参照できるツール、SonarQube の最低限のセットアップ手順。
SonarQubeとは
ソースコードの様々な品質を解析し、その結果を蓄積、参照できるようにするWebアプリケーション。
イメージは、以下ページの「Integration」部分の図が分かりやすいように思う:
手順
Java JRE のインストール
インストーラのダウンロードURL
対応するOSのDownload部分のリンクをクリックし、インストール。
DBセットアップ(省略も可能)
PostgreSQL を使って試したので、とりあえずPostgreSQLの手順:
- インストーラのダウンロードURL(Download the installerリンクで)
- インストール後、以下の通りにDB作成(DBは別の名前でも可)
cd C:\Program Files\PostgreSQL\9.5\bin
createdb -U <DBユーザ名> sonar
※<DBユーザ名>部分は、インストール時に設定したユーザ名で読み替え
なお、その他対応しているDBは以下ページ参照:
SonarQube のセットアップ
ダウンロード/解凍
ダウンロードURL:
上側のSonarQubeの下にあるリンクをクリック
ダウンロード後、zipファイルを任意の場所に解凍(c:\sonarqubeとか)
以後、中身を解凍した場所を<SonarQubeフォルダ>と呼ぶ。
DBの設定
以下ファイルをエディタ開く
<SonarQubeフォルダ>/conf/sonar.properties
開いたファイルに、以下を追記
sonar.jdbc.username=<DBユーザ名>
sonar.jdbc.password=<DBパスワード>
sonar.jdbc.url=jdbc:postgresql://localhost/sonar
※<DBユーザ名>、<DBパスワード>は、データベースにログインできるユーザ名、パスワードに読み替え
※DB名を変更している場合には、上記赤字部分を、変更したDB名に修正
起動方法
「<SonarQubeフォルダ>/bin/」フォルダ配下に、OS毎のフォルダがあるので、該当するフォルダを開き、
- Windows の場合: StartSonar.bat を実行
- その他の場:sonar.sh を実行
で、起動するはず。
接続確認
以下のURLにアクセスすると、SonarQube のページが開くはず
以下のような雰囲気)
Soner Scanner のセットアップ
実際にソースコードの解析を行うまでの手順。
ダウンロード、解凍
ダウンロードURL:
ダウンロードしたzipファイルを、任意の場所に解凍。
解答した場所を<Soner Scannerフォルダ>と呼ぶ。
Soner Scanner 動作確認
- サンプルプロジェクトをダウンロード、解凍
ダウンロードしたzipファイルを、任意の場所に解凍。
解答した場所を<サンプルプロジェクト解凍場所>と呼ぶ。
- 解析の実行
コマンドプロンプトを開き、以下の通りに実行:
cd <サンプルプロジェクト解凍場所>\projects\languages\javascript\javascript-sonar-runner
<Sonner Scanner>フォルダ>\bin\sonar-scanner.bat
- 解析結果の確認
にアクセスすると、プロジェクトの一覧に、解析した結果が増えているはず。
解析結果表示例)
ここから、プロジェクト名をクリックで、全体の状況を確認したり、
Codeタブで解析したコードの中身を参照したり、
ダッシュボードを見たりと、
かなり多角的に品質を確認できることが分かる。
参考リソース
最小限のインストール、動作確認手順:
以上。
このコメントは投稿者によって削除されました。
返信削除このローカルホストに同一ネットワークの別の端末からアクセスする方法はありますか?
返信削除"localhost"部分を、SonarQubeをインストールしたマシンのIPとかに変更すれば、別端末からアクセスできると思います。
返信削除http://192.168.179.1:9000
の、ような雰囲気。
お返事ありがとうございます。
返信削除試してみましたが上手くいきません。
何か特別な設定や環境が必要でしょうか?
うーん。
返信削除ぱっと可能性として思いつくのは、以下です。
1. Javaに対して、ファイアウォールを介した通信の許可が割り当たっていない
2. 1.の許可があるが、TCPの通信ができる許可がない
あとは、
・SonarQube 側の設定で、9000以外のポートを使うようになっている
ぐらいでしょうか。
1, 2. は、Windows環境下であれば、コントロールパネルから「Windows ファイアウォール」の設定で、確認できるはずです。
許可されたアプリにPCにインストールしたJava.exeが入っていて、
そのアプリに対する受信規則の設定で、TCPのローカルポートの9000が許可されている状態であれば、動くはず。。
3. は、\conf\sonar.properties ファイル内の「sonar.web.port」の設定値で確認できます。
ここの値が9000以外の数値になっている場合は、適宜、その数値に読み替える必要があります。
IP間違って入力してただけでした、、
削除正しく入力したら無事にできました、ありがとうございます。
接続できたようで、何よりでした^^
削除