SonarQuibeソースコード解析
3874 ワード
SonarQuibeソースコード解析
1.プロジェクトの作成
初期デフォルトID:admin、PW:adminログイン後にプロジェクトを作成します(UIはSonarqubeバージョンによって異なる場合があります).
![](https://s1.md5.ltd/image/09554466dc34dd6626c15d9de40c2257.png)
2.分析方法の選択
Windows環境のSonarScannerを使用して分析するKey、Tokenの作成と分析方法を選択します.
![](https://s1.md5.ltd/image/164cace586e80f41da1364dda9c1c90d.png)
3.分析プロセス
次の図の1番のリンクからSonarScannerをダウンロードして環境変数を設定し、2番のコンテンツをコピーしてソースコードのパス上で実行して、後続の分析を行います.
![](https://s1.md5.ltd/image/0dbd08a191a156c9374162f098357f63.png)
4.SonarScannerをインストールし、環境変数を設定する
解凍後、binディレクトリのsonar-scannerを任意の環境で使用するために、環境変数にbinディレクトリを設定します.batファイルを実行可能にする
![](https://s1.md5.ltd/image/1e989f12902de20e16e0abc2aac5417f.png)
任意のパスでソナースキャナーを使用します.batファイルの実行後に設定を完了します(環境変数設定はwindows環境のjdk設定と同じです)
![](https://s1.md5.ltd/image/b654f56f984a8b96af5b370298ea8bcb.png)
5.ソース分析
分析するソースコードのプロジェクトパスに移動するには、プロジェクトの右クリック>プロパティのボタンをクリックします.
![](https://s1.md5.ltd/image/a28f917465754ae60c59f860d4abc133.png)
次の図に示すように、プロジェクトに移動してフォルダパスをコピーします.
![](https://s1.md5.ltd/image/0a5b9adccb2349f4acd48ff62e8f7339.png)
cmdウィンドウでプロジェクトパスにナビゲートし、3.分析プロセスからコピーしたコマンドを実行します.
![](https://s1.md5.ltd/image/755bcf0e643501d834d201c552eccb44.png)
Note
※ sonar-scanner.bat -D"sonar.projectKey=FirstKey"
>> 프로젝트 생성 시 기입한 프로젝트 키
-D"sonar.sources=. " >> 현재경로의 내용을 분석
-D"sonar.host.url= http://192.168.1.179:9000 " >> SonarQube 실행서버
-D"sonar.login=78a60eb47c259d8930d5447812c9797e7004e2c2" >> 프로젝트 생성 시 표시된 토큰값
解析完了![](https://s1.md5.ltd/image/4b07ade3ded0b45125811193d986bb62.png)
6.分析結果の確認
87個のエラー、640個の脆弱性、3037個のコードの臭い、46.9%のコードの繰り返し
![](https://s1.md5.ltd/image/24e857cacd2464da3dcd3ed3f532e9aa.png)
解析結果は、設定ルールではなくDefaultに設定して解析した結果であるため、正しい解析ではルールを設定し、フィルタ履歴を設定して解析する必要があります.
解析結果のソース・コード・セクションは、上部の問題で表示できます.
![](https://s1.md5.ltd/image/c24f05788b5519ec5ff64c9df6faae00.png)
解析の説明
sonar-project.properties
Javaファイルを1つ作成およびテストするときにのみ分析を行う場合は、この設定ファイルは必要ありませんが、多くのデジタルソース分析では、複数のソースコードを含むプロジェクトが分析されます.
複数のソースコードを含むアイテムを分析すると、次のエラーが発生します.
![](https://s1.md5.ltd/image/93fb0df887ca5236e4edbc5eb00e33bc.png)
SonarScannerのダウンロードページの下部にある属性の例を使用して解析します.
![](https://s1.md5.ltd/image/b6371865789dc51c0c0f31f51f251624.png)
# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# --- optional properties ---
# defaults to project key
#sonar.projectName=My project
# defaults to 'not provided'
#sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Defaults to .
#sonar.sources=.
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
propertiesコンテンツではjavaソースコードのコンパイルと保存の場所を知る必要がありますpropertiesロケーションは、分析するプロジェクトの最上位パスに格納され、分析を実行します.
![](https://s1.md5.ltd/image/44ecfd1ad373626b217ae1eb847fa4ce.png)
# must be unique in a given SonarQube instance
sonar.java.binaries=bin
# --- optional properties ---
# defaults to project key
#sonar.projectName=My project
# defaults to 'not provided'
#sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Defaults to .
#sonar.sources=.
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
``
Reference
この問題について(SonarQuibeソースコード解析), 我々は、より多くの情報をここで見つけました https://velog.io/@3rd-big/SonarQube-소스코드-분석テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol