インストールと情報の検索の朝の後、私は実際にこの記事のためにもっと香り高く呼吸したいと思います。
目的:
- コードスキャンツールをインストールして、コードの静的スキャンを実行し、潜在的な問題を時間内に見つけます。
SonarQubeの概要
- SonarQubeは、コード品質を管理するためのオープンプラットフォームです。
- コード内の潜在的なエラーまたは明らかなエラーをすばやく見つけることができます。
- 現在、Java、C#、C / C ++、Python、PL / SQL、Cobol、JavaScrip、Groovyなど、20以上のプログラミング言語のコード品質管理とテストをサポートしています。
- CI / CD作業のためにjenkinsとDevOpsを統合します。
- コード品質をチェックするための7つの側面
- 複雑度の分布(複雑度):コードの複雑度が高すぎて理解するのが難しい
- 重複:プログラムには、コピーおよび貼り付けられたコードが多数含まれているため、コードが肥大化し、ソナーはソースコードに深刻な重複を示す可能性があります。
- 単体テスト統計(単体テスト):統計と表示の単体テストカバレッジ、開発またはテストにより、コードカバレッジを明確にテストできます。
- コーディングルール:Findbugs、PMD、CheckStyleなどを使用して、コードが仕様に準拠しているかどうかを確認します。
- コメント率(コメント):コードのコメントが少なすぎる場合、特に人事異動後は、他の人が引き継ぐことは困難です;多すぎる場合は、読むのに役立ちません
- 潜在的なバグ(潜在的なバグ):Findbugs、PMD、CheckStyleなどを通じて潜在的なバグを検出します。
- アーキテクチャと設計:ループを見つけ、パッケージ、クラス、クラス間の依存関係を示し、プログラム間の結合の度合いをチェックします
設置環境(すべてのピットはこちら)
- 1.Java環境
- 2.データベース
- 3.SonarQube
- 4.ソナースキャナー
ピット
上記の4つの環境で、バージョンを指定しませんでしたが、なぜですか?SonarQubeのバージョンが異なると、他の3つの環境が変更されるため、いくつかの明らかな落とし穴を見てみましょう。
- 1. SonarQube-7.9.1を起動するにはjava11が必要です。
- 2. SonarQube7.9以降のバージョンでは、MySQLはサポートされていません。SonarQube7.9より前のバージョンでは、MYSQL5.6-8.0(左クローズと右オープンの間隔)が必要です。それ以外の場合、java.io.IOException:リモートホストが現在のクローズを強制しました一部の接続。
- 3. SonarQubeの一部のバージョン(7以降など)は、マスターブランチのみをスキャンでき、他のブランチはスキャンできません。
- 4.他のブログ投稿によると:SQL Server 2016(SQLサーバーのバージョンは12以上である必要があります。つまり、SQL Server 2012以降のバージョンはsonarqube 8.2と互換性がありません)
- 5. SonarQubeはリモートデータベースに接続できず、localhostを使用する必要があります。(私の実際の測定によると、このピットで言及されているいくつかの記事は存在しません。リモートサーバーでsqlserverデータベースを使用しているためです)
インストール手順
- 1. Java11をインストールして環境変数を構成します(注:Java11のインストール後はjreはありません。次のコマンドを実行してください:bin \ jlink.exe --module-path jmods --add-modules java.desktop --output jre、これはこのディレクトリにありますjreフォルダーを生成)
- 2.データベースをインストールします(SonarQubeのさまざまなバージョンに応じて、mysqlのさまざまなバージョンを選択するか、SonarQube7.9以降を直接選択し、sqlserverを直接選択します)(私はsonarqube-7.9.1 + Microsoft SQL Server 2017(RTM-CU20)を使用しました)( KB4541283)-14.0.3294.2(X64))
- 3. SonarQubeをダウンロードします(必要なバージョンを選択してください)。
- 4. sonarqubeを解凍し、confファイルを入力して、sonar.propertiesを構成します構成ファイルが間違っていると、接続の問題が発生します。
配置文件如下:
sonar.jdbc.url=jdbc:sqlserver://xxxxxxxx;databaseName=sonarqube
sonar.jdbc.username=sa
sonar.jdbc.password=xxxxx
sonar.login=admin
sonar.password=admin
- 5. sonarqube \ sonarqube-7.9.1 \ bin \ windows-x86-64フォルダーに移動し、StartSonar.batをダブルクリックすると、次の画像が表示されます。
使用手順
- スキャンする方法
- スキャン後にPDFをエクスポートする方法
- プラグインをダウンロードし、このモデルを作成する方法:sonar-pdfreport-plugin-2.1.1.jar
- それをsonarqube-7.3 \ extensions \ pluginsディレクトリに配置します
- ソナーサービスを再起動します
- サービスが再起動すると、新しい構成ページが追加され、プラグインを追加した後のPDFレポートが新しいページタブであることがわかります。