Sonarqube代碼審查平臺安裝_JDK1.7+Maven3.3.9

基於JDK1.7代碼審查平臺sonarqube安裝

sonarqube已經更新到7.0版本了,但是從5.6版本以後就只支持JDK1.8了,網上大部分資源也都是基於JDK1.8的,在這方面走了不少坑,尤其是在後面用Maven-scanner掃描Maven項目的時候,各種報錯。經過幾天摸索終於在Linux中搭建成功了,JDK版本用的是1.7,因此本文對於項目JDK版本用的是1.7的想搭建sonarqube平臺的同學非常有用。
運行成功後界面如下
sonarqube安裝成功後的界面

安裝sonarqube

官網上下載sonarqube4.5.7(LTS version) zip包,該版本是適用於JDK1.7的最新版本,該zip包在windows和Linux等版本中均可以運行,不同的是啓動路徑和方法不一樣而已。
* sonarqube配置文件
sonarqube平臺數據包括代碼審查結果都是保存在數據庫中的,當然默認不配置的情況下是使用H2內存數據庫的,但一般不推薦,本文配置的是mysql數據庫。在conf目錄下找到sonar.properties並設置相關參數如下,其中sonar.jdbc.usernamesonar.jdbc.password分別是mysql數據庫的賬號和密碼,sonar.jdbc.url是數據庫的地址。還有其它參數如端口號sonar.web.port=9998等參數,可以搜索下其它資源配置方法,默認的啓動端口號是9000,本例配置的是9998.
配置sonarqube參數

  • 添加中文插件
    安裝啓動之前先把所需要的相關插件放在安裝包中,這樣啓動好了之後就可以直接使用。以中文插件l10n爲例,首先下載插件,代碼託管到GitHub中,4.5.7的版本選擇sonar-l10n-zh-plugin-1.8版本,git中沒有jar資源下載,所以只能下載源碼後進行maven編譯,將編譯後的jar包放在sonarqube-4.5.7/extensions/plugins目錄下。

  • 運行sonarqube
    進入bin目錄下找到相應的系統版本,Linux64的運行目錄文件是sonarqube-4.5.7/bin/linux-x86-64,進入到該目錄輸入sh sonar.sh start即可。如果提示沒有執行權限,則需要先將sonar.shwrapper文件先賦予執行權限chmod a+x sonar.shchmod a+x wrapper。至此sonarqube安裝完畢,是不是很簡單?
    其它命令sh sonar.sh start | stop | restart | status. windows下則直接運行對應目錄下StartSonar.bat文件即可

Maven項目掃描配置

  • Maven配置
    現在很多項目都是Maven組織的,那麼sonarqube如何掃描Maven項目呢?
    打開Maven的配置文件settings.xml添加如下配置,主要配置的是sonarqube數據庫及sonarqube的。
<!-- pluginGroups標籤中添加後如下 -->
<pluginGroups>
    <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>

<!-- profiles標籤中添加後如下 -->
<profiles>
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.jdbc.url>jdbc:mysql://192.168.1.2:3306/test</sonar.jdbc.url>  
            <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>  
            <sonar.jdbc.username>root</sonar.jdbc.username>  
            <sonar.jdbc.password>admin</sonar.jdbc.password>  
            <!-- Optional URL to server. Default value is http://localhost:9000 -->
            <sonar.host.url>http://192.168.1.2:9998</sonar.host.url>
        </properties>
    </profile>
</profiles>

sonarqube-scanner-maven在掃描Maven項目的時候比較消耗JVM內存資源,所以最好配置JVM內存,即設置MAVEN_OPTS=-Xmx512m,以防佔用過多的內存資源。
Linux中Maven配置環境變量,編輯/etc/profile文件加入export MAVEN_OPTS="-Xmx512m"即可。在Windows系統中,則在Maven打包之前set MAVEN_OPTS=-Xmx512m或在環境變量中配置MAVEN_OPTS參數即可。

  • 運行Maven項目,掃描代碼
    本例JDK1.7+Maven3.3.9版本下運行命令爲mvn clean install org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar -Dmaven.test.skip=true.
    如果是比較高的sonarqube版本+JDK1.8,則運行命令爲mvn clean install sonar:sonar -Dmaven.test.skip=true.
    以下命令沒有權限校驗的,意味着所有的用戶都可以通過以下命令將某個Maven項目的審查結果上傳至sonarqube平臺。如果需要限制某些用戶,則運行命令爲
mvn clean install org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar -Dmaven.test.skip=true -Dsonar.login=admin -Dsona.password=admin

同時需要在平臺上更改用戶權限,如下圖
配置權限

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