Sonar本地環境搭建

一個新項目準備上線提測了,爲了在提測之前做一下代碼走查,同時瞭解項目目前的質量情況,就在本地搭建了一套sonar環境。搭建的過程中遇到了很多問題,sonar官方已不再維護Eclipse的svn插件,所以之前很多網上的教程都存在問題了。通過自己的摸索,最後還是成功搭建好了環境。下面我們開始搭建吧。

1 準備階段

(1)下載MySQL,地址:http://dev.mysql.com/downloads/installer/
(2)下載SonarQube,地址:http://www.sonarqube.org/downloads/
(3) 下載SonarQube中文插件,地址:http://download.csdn.net/detail/u010218242/9272667

1.2 環境準備
(1)確保本機已經安裝JDK
(2)安裝數據庫
由於sonar需要數據庫支持,我們首先安裝數據庫,這裏使用mysql(當然你也可以安裝其他數據庫)。

第一步:安裝mysql,安裝流程就不說了,這裏特別需要注意的是選擇編碼格式的時候一定要選擇utf8.

這裏寫圖片描述

第二步:使用命令創建數據庫,名字爲sonar:

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

第三步:創建一個sonar用戶並把這個用戶的密碼設置爲soanr:

CREATE USER ‘sonar’ IDENTIFIED BY ‘sonar’;

第四步:將第二步中創建的sonar數據庫的所有權限賦給第三步中創建的sonar用戶:

GRANT ALL ON sonar.* TO ‘sonar’@’%’ IDENTIFIED BY ‘sonar’;
GRANT ALL ON sonar.* TO ‘sonar’@’localhost’ IDENTIFIED BY ‘sonar’;
FLUSH PRIVILEGES;

這裏寫圖片描述

至此數據庫已經建好了。
這裏寫圖片描述

  1. 安裝SonarQube
    第一步:將下載的sonarqube解壓到你的本地目錄

這裏寫圖片描述
第二步:修改配置文件,打開conf目錄下的日誌文件,然後加入以下信息:

sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

這裏寫圖片描述

第三步:bin目錄下會有各種平臺的啓動腳本,我用的windows-x86-32的:

這裏寫圖片描述

點擊StartSonar.bat,開始啓動。第一次啓動需要初始化數據庫,需要等一會兒:
這裏寫圖片描述

第四步:在瀏覽器中打開http://localhost:9000/,正常安裝的情況會顯示如下界面:

這裏寫圖片描述
至此,我們的SonarQube已經安裝成功了,如果想要使用SonarQube平臺管理我們的代碼質量,還需要安裝代碼解析工具。通常我們使用maven來集成sonar的解析,請看下小節。

  1. Maven中集成sonar
    第一步:在maven的setting.xml文件中加入以下內容:
<profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
              <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8&amp;rewriteBatchedStatements=true</sonar.jdbc.url>
              <sonar.jdbc.username>sonar</sonar.jdbc.username>
              <sonar.jdbc.password>sonar</sonar.jdbc.password>
               <sonar.host.url>http://localhost:9000</sonar.host.url>
            </properties>
        </profile>

第二步:接下來在sonarqube啓動的情況下,進入maven項目中,執行mvn sonar:sonar命令,等待結束。那麼在http://localhost:9000下就可以查看sonar分析的結果了。

對於開發者來說,如果我們能夠在Eclipse中直接集成sonar那是更加方便了,我們可以直接在Eclipse中查看sonar問題。接下來我們演示如何在Eclipse中集成sonar。

4. Eclipse集成sonar

第一步:安裝sonar插件,打開Help > Install New Software… ,輸入下面這個網址 (http://downloads.sonarsource.com/eclipse/eclipse/),接下來就會顯示下面這個界面內容
這裏寫圖片描述

然後點擊next安裝就OK了,完成安裝之後會提示你重新啓動。

第二步:Eclipse上運行sonar,Eclipse執行maven命令:sonar:sonar:

這裏寫圖片描述
這裏寫圖片描述
再去locahost:9000下面查看,已經ok:

這裏寫圖片描述
如果我們想直接在Eclipse中查看sonar問題,我們點擊工程右鍵,如下圖:

這裏寫圖片描述
然後再次右擊工程,進行解析,如下圖:

這裏寫圖片描述
分析結果:

這裏寫圖片描述

到這裏,sonar本地環境搭建已經完全ok!

總結:
在本地搭建sonar環境的過程當中,經歷了各種問題,版本問題、官方sonar插件不維護問題…通過各種嘗試終於搞定,如果你安裝的過程當中出現了什麼問題可以聯繫我。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章