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平台可以看到掃描資料。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SM5cTO2M2NyADOhRmN3cDOyYzX0ETOwkTMwIzLcVDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
掃描項目-(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、等待掃描完成。
配置檔案