最近のソナーテストでは、プロジェクトで合計3万件を超える違反が見つかりました。私は、すべてのブロッカー/重大な違反を調べて、それに応じて修正するために時間を費やすように言われました。メンターから、プロジェクトでソナーを再度実行するには、最初に行った変更をコミットする必要があると言われました。そして、私はインターンなので、彼らはそれを望んでいません。変更をコミットしてソナーを実行する以外に他の方法はありますか?
私はIntellijを使用していますが、それが何かに役立つのであれば、プロジェクトは改善されています。
はい、 http://docs.sonarqube.org/display/SONAR/Installing の手順に従って、ローカルのSonarサーバーをセットアップします。
これが完了したら、mvn sonar:sonarを実行することで、localhost:9000ですべてのプロジェクトを表示できます。プロジェクトがMaven対応である限り、ビルドサーバーをインストールする必要はありません。ローカルのソナーサーバーの実行中にmvn sonar:sonarを実行できるはずです。
Eclipseプラグイン(Eclipseを使用している場合)をインストールして、リアルタイムのコード分析を実行することもできます。これにより、違反を解決できた時期を確認できます。違反はコードでも直接強調表示されるため、非常に役立ちます。
http://docs.sonarqube.org/display/SONAR/SonarQube+in+Eclipse
Sonarは内部でPMD、Checkstyleなどのプラグインを使用しています。Eclipse用のPMDまたはcheckstyleプラグインをインストールすると、すべての潜在的な違反が表示されます。チェックインする前に、問題をどこまで修正したかを確認すると便利です。
Hudson + sonarをマシンにローカルにインストールして、コードをコミットする必要なしに、必要なときにいつでも実行できます。
セットアップにはかなりの時間を費やす必要がありますが、そうするための優れたドキュメントはたくさんあります。
Dockerを使用してSonarQubeサーバーを実行すると役立つ場合があります。
docker pull sonarqube
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube
docker start sonarqube
スキャナーからSonarScannerをダウンロードしてインストールします ここ 。
プロジェクトディレクトリ内にsonar-project.properties
という名前のファイルを次の内容で作成します。
sonar.projectKey=YourProjectKey
sonar.projectName=YourProjectName
sonar.projectVersion=1.0
sonar.sources=.
cd /to/project/path
sonar-scanner
ブラウザで http:// localhost:90 を開きます。
デフォルトのユーザー名とパスワードでログインします(admin、admin)。
単純なスクリプトまたはプラグインで可能なはずの、信じられないほどのソリューション。 Git commitで実行できるのなら、なぜ別のコミットではできないのでしょうか。 IJでうまく機能するSonar(Lint)プラグインを見つけました。ゲームに遅れたのかもしれませんが、現在入手可能です。
SonarLint を使用できます。 IDEを使用して構成し、SonarQubeまたはSonarCloudへのアクセスを許可し、Sonarインスタンスで使用される品質プロファイルを使用するように各プロジェクトを構成できます。したがって、IDEは、コーディング中にコードの臭いなどを表示します。