天天看點

代碼掃描利器sonarqube

sonar的作用

1、代碼品質和安全掃描和分析平台。

2、多元度分析代碼:代碼量、安全隐患、編寫規範隐患、重複度、複雜度、代碼增量、測試覆寫率等。

3、支援25+程式設計語言的代碼掃描口分析,包含java\python\C#\javascript\go\C++等。

4、涵蓋了程式設計語言的靜态掃描規則:代碼編寫規範+安全規範。

5、能夠與代碼編輯器、CI/CD平台完美內建。

6、能夠與SCM內建,可以直接在平台上看到代碼問題是由哪位開發人員送出。

7、幫助程式猿寫出更幹淨、更安全的代碼。

sonar的組成

sonar靜态代碼掃描由2部分組成:sonarQube平台,sonar-scanner掃描器。

sonarQube:web界面管理平台。

1)展示所有的項目代碼的品質資料。

2)配置品質規則、管理項目、配置通知、配置SCM等。

sonarScanner:代碼掃描工具。

專門用來掃描和分析項目代碼。支援20+語言。

代碼掃描和分析完成之後,會将掃描結果存儲到資料庫當中,在sonarQube平台可以看到掃描資料。

代碼掃描利器sonarqube

掃描項目-(java項目)

1、擷取1份java項目源代碼(svn/git上下載下傳均可)

2、項目代碼根目錄下添加sonar-project.properties

3、檔案内容如下:

  • sorfar.projectKey=在sonarQube上的執行個體鍵名(唯一)
  • sonar.projectName=在sonarQube上的項目名稱
  • sonar.projectVersion=1.0(項目版本号)
  • sonarsources=.(java源代碼目錄指定)
  • sonar.sourceEncoding=UTF-8(編碼格式指定)
  • sonar.language=java(指明隻掃描ava語言)
  • sonar.java.binaries=target/classes(class檔案的目錄)

4、在項目代碼根目錄下,運作指令:sonar-scanner

5、等待掃描完成。

配置檔案

代碼掃描利器sonarqube

sonar預設的代碼規則

代碼掃描利器sonarqube