小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

如何在Hudson上集成sonar來實現(xiàn)代碼質量控制

 bananarlily 2013-08-14

如何在Hudson上集成sonar來實現(xiàn)代碼質量控制

Sonar是一款集成了PMD,checkstyle, FindBugs等代碼質量管理功能的開源軟件。http://www./ 可以下載最新的版本。由于sonar是基于Maven 2實現(xiàn)構建的,所以你還需要從http://maven./download.html  下載Maven 2。把sonar和Maven 2解壓縮,然后設置MAVEN_HOME以及PATH加$MAVEN_HOME/bin??梢詧?zhí)行mvn –version來檢查Maven的安裝是否正確。
Sonar的配置主要改為mysql來實現(xiàn)數(shù)據(jù)持久化。編輯SONAR_HOME/conf/sonar.properties文件,注釋掉embedded database段(derby),取消注釋MySQL。
Maven 2的配置從前一個版本升級后得到極大的簡化,基本上可以看成3層結構,$MAVEN_HOME/settings.xml為全局配置,~/.m2/settings.xml為用戶級配置,項目下pom.xml為項目級配置。為了sonar的運行我們需要在settings.xml配置兩項,一個是LocalRepository,另一個是增加profile為sonar。Sonar的Profile舉例如下(包含在profiles節(jié)點下, sonar server可以跟hudson server一致):
<profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <sonar.jdbc.url>                  jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
                </sonar.jdbc.url>
                <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
                <sonar.jdbc.username>sonar</sonar.jdbc.username>
                <sonar.jdbc.password>sonar</sonar.jdbc.password>
                <sonar.host.url>http://SONAR_SERVER:9000</sonar.host.url>
            </properties>
        </profile>
以上基本完成了Sonar和Maven的安裝和配置。接下來我們需要增加我們的管理對象開發(fā)項目了。因為我的Java項目是Web application,所以用如下命令創(chuàng)建:
mvn archetype:create -DgroupId=com.company.projectShortName -DartifactId=projectName -DarchetypeArtifactId=maven-archetype-webapp
Maven會在當前目錄創(chuàng)建一個標準代碼目錄結構。
  1. projectName   
  2. |-- pom.xml   
  3. `-- src   
  4.     |-- main   
  5.     |   `-- java   
  6.     |   `-- webapp   
  7.     |       `-- WEB-INF   
  8.     |           `-- lib   
  9.     |           `-- web.xml   
  10.     `-- test   
  11.         `-- java   
刪除projectName/src/main/java, projectName/src/main/webapp/WEB-INF/lib, projectName/src/test, 然后創(chuàng)建相同鏈接到你項目真實的java/src, WEB-INF/lib, java/test。
編輯projectName/pom.xml,在build標簽下增加
<plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.5</source>
            <target>1.5</target>
            <encoding>UTF-8</encoding>
         <compilerArguments>
           <extdirs>src/main/webapp/WEB-INF/lib</extdirs>
         </compilerArguments>
        </configuration>
    </plugin>
</plugins>
以上插件為了解決Maven默認用1.3來編譯導致大量泛型類無法通過編譯的問題,強制用jdk 1.5即可支持泛型類。另外把webapp的組件jar目錄設置好。
這樣就完成了所有Sonar和Maven對項目的配置了?,F(xiàn)在可以進入項目Maven目錄,執(zhí)行mvn sonar:sonar來分析代碼了。
不過我們的目標是在hudson系統(tǒng)中集成sonar。所以我們還有幾個步驟需要完成。
首先把hudson的sonar插件從http:// hudson-ci.org/download/plugins/sonar下載得到。添加到hudson服務器的$JBOSS_HOME/server/all/deploy/hudson.war/WEB-INF/plugins然后redeploy hudson即可。登陸hudson界面,在系統(tǒng)配置中針對sonar節(jié)增加sonar,配置server URL, database url, database login, database password, database driver跟Maven 2的settings.xml中sonar profile一致即可。勾選上“用戶手工啟動”。
然后在項目的配置頁面里,勾選上Sonar,把Maven version, Root POM, MAVEN_OPTS配置好即可。其中Maven version為全局配置的版本,Root POM就是maven create的projectName/pom.xml(需要全路徑,因為與hudson任務的工作空間不同),MAVEN_OPTS配置為-Xmx512m -XX:MaxPermSize=256m以防止內存錯誤。
喝杯茶,等著hudson的構建結果吧。你可以找到sonar的分析報告,關于重復代碼,危險代碼,混亂代碼等都有哦。至于代碼規(guī)則等,則需要你根據(jù)公司/項目的規(guī)范進行相應的增刪了。

本文出自 “守望者的技術日記和六..” 博客,請務必保留此出處http://dannyyuan.blog.51cto.com/212520/404296

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多