1. 程式人生 > >SonarQube4.4+Jenkins進行程式碼檢查例項之二

SonarQube4.4+Jenkins進行程式碼檢查例項之二

但是有些程式碼檢查需要使用位元組碼,比如Findbugs的檢查依賴於位元組碼,例項一中只提取原始碼,就不能進行Findbugs的檢查。

要進行Findbugs檢查就需要編譯。以下例項操作來演示如何搭建

1,首先當然是要下載最新的Findbugs    http://docs.codehaus.org/display/SONAR/FindBugs+Plugin   ,當前最新版是V3.0,  supports analysis of Java 8 bytecode but requires Java 1.7 to run (see Compatibility section)。  下載後將相應Jar包存放到 \sonarqube-4.4\extensions\plugins 下,

 其中\sonarqube-4.4是SonarQube的安裝目錄,然後重啟SonarQube

1b, 也可以在SonarQube的update center中下載,下載後按提示重啟SonarQube即可。

2,以admin登入到Sonar,將預設的Quality Profiles改為 Sonar way with Findbugs

3,在Jenkins中配置專案,筆者以Maven3為例,選擇 maven2/3專案 

4,按Maven專案正常配置,在Goals and options留空,採用預設

5,在Post Steps中加入 Windows Batch command, 命令為: SonarQube Runner V2.4安裝位置\bin\sonar-runner.bat

6,配置專案,要告知SonarQube編譯結果在哪裡,並且加入更新到SVN下,如下:

# required metadata 
sonar.projectKey=Keqiang:CodeKatabySonarRunner
sonar.projectName=CodeKatabySonarRunner
sonar.projectVersion=2.0.0  
# path to source directories (required) 
sonar.sources=src/main/java
# path to project binaries (optional), for example directory of Java bytecode 
sonar.binaries=target/classes

7,在Jenkins中立即構建 此Job

8,訪問 http://localhost:9000  來看看SonarQube的結果,可以看到根據Findbugs的規則新發現的issue

說明1:Sonar way with Findbugs 是SonarQube預設的選擇,一共497條規則。SonarQube提供了方便的介面來修改。

說明2:SonarQube就發現的Issue設立了總指標Technical Debt,以工作量來表達需要多少時間修復這些issue。

小結:以上配置是簡單的。說白了,只需交待編譯結果在哪裡就可以了。

以上兩個例項,希望讀者能夠了解搭建SonarQube是多麼容易。

Jenkins並不是必須的,利用Sonar-Runner完全可以達到相同相關。加入Jenkins支援之後,就能根據Svn操作來自動啟動。