* 檢查代碼是否遵循編程標準:如命名規範,編寫的規範等。
* 檢查設計存在的潛在缺陷:SonarQube 經過插件 Findbugs、Checkstyle等 工具檢測代碼存在的缺陷。
* 檢測代碼的重複代碼量:SonarQube能夠展現項目中存在大量複製粘貼的代碼。
* 檢測代碼中註釋的程度:源碼註釋過多或者太少都很差,影響程序的可讀可理解性。
* 檢測代碼中包、類之間的關係:分析類之間的關係是否合理,複雜度狀況。
複製代碼
* SonarQube Server
* SonarQube Database
* SonarQube Plugins
* SonarQube Scanner複製代碼
Jenkins 是一個支持自動化框架的服務器,咱們這裏不作詳細介紹。Jenkins 提供了相關的插件,使得 SonarQube 能夠很容易地集成 。java
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a69ea73fe75?w=713&h=268&f=png&s=45282)複製代碼
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a6a1b340dfe?w=715&h=230&f=png&s=26862)複製代碼
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a6a4b3f8017?w=718&h=314&f=png&s=36283)複製代碼
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a6a762ac285?w=709&h=221&f=png&s=24054)複製代碼
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a6aa24186ef?w=713&h=292&f=png&s=46329)複製代碼
首先須要在新建的 Jenkins 項目的構建環境標籤頁中勾選"Prepare SonarQube Scanner evironment"複製代碼
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a6ad385eff4?w=657&h=425&f=png&s=49643)複製代碼
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a6b00428be6?w=337&h=424&f=png&s=47266)複製代碼
sonar.projectKey=testSonar
sonar.projectName=testSonar
sonar.projectVersion=1.0
sonar.language=java
sonar.java.binaries=$WORKSPACE/testSonar/target/test-classes/
sonar.sources=$WORKSPACE/testSonar/src複製代碼
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a6b223651a2?w=625&h=420&f=png&s=39902)複製代碼
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a6b642a4398?w=717&h=232&f=png&s=56801)複製代碼
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a6b8f2a7d6d?w=428&h=425&f=png&s=32221)複製代碼
![](https://user-gold-cdn.xitu.io/2019/10/11/16db8a6bb83d0623?w=726&h=343&f=png&s=92498)複製代碼