




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、集成質量管理平臺搭建第一章 Sonar安裝21.1下載sonar21.2安裝sonar21.2.1 JDK安裝配置21.2.2數(shù)據(jù)庫安裝21.3成功界面31.4配置插件31.4.1插件介紹31.4.2常用的插件:4第二章 Maven安裝52.1下載 Maven52.2配置Maven5第三章 Jenkins安裝53.1安裝Jenkins5第四章 Sonar-Runner安裝64.1下載Sonar-Runner64.2配置Sonar-Runner環(huán)境變量64.3測試文件的配置64.4應用sonar監(jiān)測代碼質量7第五章 環(huán)境集成75.1 Sonar和Jenkins集成75.2 Jenkins系統(tǒng)配置
2、95.3 Jenkins項目配置10第六章 常見錯誤146.1 sonar沒有啟動146.2 Maven setting.xml配置156.3 文件POM.xml配置166.4 0 files indexd1616第一章 Sonar安裝1.1下載sonar 最新版版本:4.2,穩(wěn)定版:3.7(本人建議下載3.7穩(wěn)定版) 下載地址:/downloads/下載完成之后,要注意一個問題,官方的說明是不要安裝在以數(shù)字開頭的目錄中。所以我們就不要解壓在數(shù)字開頭的目錄中。1.2安裝sonar1.2.1 JDK安裝配置這個不予多說,最基本的JAVA開發(fā)環(huán)境配
3、置,下載JDK,配置其JAVA_HOME,PATH等。1.2.2數(shù)據(jù)庫安裝(1)本人是選擇的MySQL,這里要注意的是如果你下載的是免安裝版,直接解壓使用的話,需要配置my.ini。(2)在數(shù)據(jù)庫中創(chuàng)建新用戶sonar 密碼為sonar 并給用戶賦權。(用戶和密碼可以自定義,如果自定義需要更改perties配置文件中得sonar.jdbc.username與sonar.jdbc.password,其默認的就是sonar)。(3)配置perties文件。a配置啟動的http端口:sonar.web.host: localhost(或者
4、你的IP)sonar.web.port: 9000(默認是9000,你可以修改,不然會和Jenkins的端口號沖突)sonar.web.context: / (三句前本來被注釋,取消注釋) b取消MySQL連接的注釋,并輸入自己數(shù)據(jù)庫的url地址,同時將默認的sonar.jdbc.url屏蔽#- MySQL 5.x# Comment the embedded database and uncomment the following line to use MySQLsonar.jdbc.url: jdbc:mysql:/localhost:3306/test?useUnicode=true&a
5、mp;characterEncoding=utf8&rewriteBatchedStatements=true# :mysql是指你要連接的事Mysql數(shù)據(jù)庫,這里我給Sonar的權限是管理員所以可以用localhost,否則你要使用的你的IP地址,3306是你使用的端口號,test是我測試時創(chuàng)建的數(shù)據(jù)庫,你需要改成你自己的數(shù)據(jù)庫名。# Optional properties sonar.jdbc.driverClassName: com.mysql.jdbc.Driversonar.jdbc.validationQuery: select 1c進入bin中,選擇適合自己系統(tǒng),運行so
6、nar.sh,如果是windows運行bat。運行sonar-3.7binwindows-x86-64StartSonar.bat,打開相應的網頁:http:/localhost:9000測試是否配置成功,這里的頁面鏈接跟前頭的http配置有關。(第一次運行StartSonar.bat,時需要的時間較長,請耐心等待,切不可關閉窗口重新加載,sonar其需要創(chuàng)建一個和Mysql數(shù)據(jù)庫相關的migrating數(shù)據(jù)庫和表,如果中途退出則創(chuàng)建不成功?。?.3成功界面登陸用戶名和密碼都是admin 1.4配置插件1.4.1插件介紹Sonar支持多種插件,插件的下載地址為:http:/docs.codeh
7、/display/SONAR/Plugin+Library將下載后的插件上傳到$SONAR_HOMEextensionsplugins目錄下,重新啟動sonar。sonar默認集成了Java Ecosystem插件,該插件是一組插件的合集(1)Java sonar-java-plugin:java源代碼解析,計算指標等(2)Squid sonar-squid-java-plugin:檢查違反Sonar定義規(guī)則的代碼(3)Checkstyle sonar-checkstyle-plugin:使用CheckStyle檢查違反統(tǒng)一代碼編寫風格的代碼(4)FindBugs sonar-f
8、indbugs-plugin:使用FindBugs檢查違反規(guī)則的缺陷代碼(5)PMD sonar-pmd-plugin:使用pmd檢查違反規(guī)則的代碼(6)Surefire sonar-surefire-plugin:使用Surefire執(zhí)行單元測試(7)Cobertura sonar-cobertura-plugin:使用Cobertura獲取代碼覆蓋率(8)JaCoCo sonar-jacoco-plugin:使用JaCOCO獲取代碼覆蓋率1.4.2常用的插件:(1)JavaScript代碼檢查:/display/SONAR/JavaScript
9、+Plugin(2)python代碼檢查:/display/SONAR/Python+Plugin(3)Web頁面檢查(HTML、JSP、JSF、Ruby、PHP等):/display/SONAR/Web+Plugin(4)xml文件檢查:/display/SONAR/XML+Plugin(5)scm源碼庫統(tǒng)計分析:/display/SONAR/SCM+Stats+Plugin(6)文件度量:http:/docs
10、./display/SONAR/Tab+Metrics+Plugin(7)中文語言包:/display/SONAR/Chinese+Pack(8)時間表顯示度量結果:/display/SONAR/Timeline+Plugin(9)度量結果演進圖:/display/SONAR/Motion+Chart+Plugin(b)插件配置示例(本段內容來自第二章 Maven安裝2.1下載 Maven最新版:Apache Maven 3.2.1下
11、載地址/download.cgi2.2配置MavenMaven的配置也比較簡單:MAVEN_HOME= $ Maven.home PATH=% MAVEN_HOME %bin測試maven是否成功 :mvn v第三章 Jenkins安裝3.1安裝Jenkins下載地址:/content/thank-you-downloading-windows-installerJenkins安裝比較簡單在這里就不多說了,其最主要的就是Jenkins集成Maven和Sonar。3.2安裝后打開http:/localhost:9
12、000/進行測試3.3成功界面:第四章 Sonar-Runner安裝4.1下載Sonar-Runner下載地址:/org/codehaus/sonar-plugins/sonar-runner4.2配置Sonar-Runner環(huán)境變量(1)SONAR_RUNNER_HOME 你的安裝位置(2)Path $SONAR_RUNNER_HOME/bin (Unix) or %SONAR_RUNNER_HOME%/bin(3)修改$SONAR_RUNNER_HOME/conf/perties文件,打開databa
13、se connection, server URL的注釋4.3測試文件的配置在每個項目的項目源文件目錄下新建一個文件名為perties的文件,在文件中輸入以下內容:# required metadata# My project-修改成你的項目名稱jectKey=my:jectName=My jectVersion=1.0# path to source directories (required)# srcDir1,srcDir2-修改成你的源文件夾路徑sonar.sources
14、=srcDir1,srcDir2 #通常就填src# path to test source directories (optional)# testDir1,testDir2-修改成你的測試文件夾路徑 tests=testDir1,testDir2# path to project binaries (optional), for example directory of Java #bytecode# binDir-修改成你的二進制文件夾路徑 # binaries=binDir #此為可選項,可以不填# path to project libraries (optional)#librar
15、ies=junit.jar #此為可選項,可以不填# advanced perty=value4.4應用sonar監(jiān)測代碼質量以上配置完成之后,就可以應用sonar來監(jiān)測代碼質量了。(1)先啟動sonar用sonar-3.7binwindows-x86-64 StartSonar.bat文件,這時可以查看sonar-3.7logs sonar.log文件,看是否已經啟動sonar(2)啟動好sonar之后,接著在命令行中切換到項目文件的目錄下,然后輸入sonar-runner,等到運行結束后,進入到http:/localhost:9000頁面,查看代
16、碼的質量統(tǒng)計結果。需進入項目的目錄中:成功時如圖所示:第五章 環(huán)境集成5.1 Sonar和Jenkins集成5.1.1通過Maven進行集成修改maven的主配置文件($MAVEN_HOME/conf/settings.xml文件或者 /.m2/settings.xml文件),在其中增加訪問Sonar數(shù)據(jù)庫及Sonar服務地址,添加如下配置:<profile><id>sonar</id><properties><sonar.jdbc.url>jdbc:mysql:/localhost:3306/sonar</sonar.jdbc
17、.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:/localhost:9000</sonar.host.url> <!- Sonar服務器訪問地址 -></prop
18、erties></profile><activeProfiles><activeProfile>sonar</activeProfile></activeProfiles>此處注意sonar.host.url地址應根據(jù)sonar部署情況修改同樣,為了避免內存溢出,推薦增加內存堆棧的大小。設置MAVEN_OPTS環(huán)境變量:set MAVEN_OPTS=”-Xmx512m -XX:MaxPermSize=256m”使用Sonar(1) 運行Sonar服務器;(2) 通過 mvn sonar:sonar 將代碼注入到Sonar中進行分
19、析處理,并將處理結果以XML的形式保存在數(shù)據(jù)庫中;(3)通過瀏覽器訪問,顯示分析結果;(4)持續(xù)運行Maven構建,會迭代顯示分析結果;(5)可以顯式指定sonar插件的版本,如下:<project> <build> <plugins> <plugin> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.5.1</version> </
20、plugin> </plugins> </build></project>(6)可以顯式的將sonar綁定到Maven生命周期中,如下:<plugin> <groupId>org.codehaus.sonar</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.5.1</version> <executions> <execution> <id>sonar&
21、lt;/id> <phase>site</phase> <goals> <goal>sonar</goal> </goals> </execution> </executions></plugin>5.1.2下載sonar jenkins plugin 在jenkins的插件管理中選擇安裝sonar jenkins plugin,該插件可以使項目每次構建都調用sonar進行代碼度量。打開Jenkins,選擇系統(tǒng)管理,然后進入管理插件,找到sonar plugin,下載安裝。5.2
22、Jenkins系統(tǒng)配置5.2.1 JDK配置5.2.2 sonar runner 配置5.2.3 Maven配置5.2.4 Sonar 配置5.3 Jenkins項目配置進入你創(chuàng)建的項目,我這里創(chuàng)建的項目名是scmp,進入后,找到左邊的配置,進入。5.3.1源碼管理選擇你的源碼來源,我用的是SVN,選擇 Subversion選擇框,里面要配置你的源碼URL,登錄名和密碼,其中Repository depth選擇infinity,Local module directory是你導出文件的位置,此位置是相對于Jenkins的,在Jenkins的workspace里。如圖所示:5.3.2
23、Build其中的root Pom選擇是相對于workspace的,即是在workspace里里面。 如圖:5.3.3 Post Steps如圖操作:選擇Maven targets然后里面的設置如圖:5.3.4 構建后操作添加構建后操作步驟:此處只需要填寫下JDK就可以用了,應用程序構建時就會自動觸發(fā)Sonar對代碼的檢查成功效果圖:第六章 常見錯誤6.1 sonar沒有啟動錯誤如下:ERROR Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (default-cli) on project scmp:
24、SonarQube server can not be reached at http:/localhost:9000. Please check the parameter 'sonar.host.url'. Connection refused: connect -> Help 1ERROR ERROR To see the full stack trace of the errors, re-run Maven with the -e switch.JENKINS Archiving D:Program FilesJenkinsworkspacescmpscmppo
25、m.xml to com.fnii.scmp/scmp/0.0.1-SNAPSHOT/scmp-0.0.1-SNAPSHOT.pomERROR Re-run Maven using the -X switch to enable full debug logging.ERROR ERROR For more information about the errors and possible solutions, please read the following articles:ERROR Help 1 /confluence/display/MA
26、VEN/MojoExecutionExceptionAn attempt to send an e-mail to empty list of recipients, ignored.channel stoppedSkipping sonar analysis due to bad build status FAILUREAn attempt to send an e-mail to empty list of recipients, ignored.Finished: FAILURE解決方法:應先運行sonar,在運行Jenkins進行構建項目6.2 Maven setting.xml配置錯
27、誤如下: ERROR Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.3.1:sonar (default-cli) on project scmp: SonarQube server can not be reached at http:/localhost:9000. Please check the parameter 'sonar.host.url'. Connection refused: connect -> Help 1ERROR ERROR To see the full stac
28、k trace of the errors, re-run Maven with the -e switch.ERROR Re-run Maven using the -X switch to enable full debug logging.ERROR ERROR For more information about the errors and possible solutions, please read the following articles:ERROR Help 1 /confluence/display/MAVEN/MojoExe
29、cutionException解決方法:因為Maven中找不到sonar-maven-plugin配置,將下面文件直接替換即可:<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="/SETTINGS/1.0.0" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="http:/maven.ap
30、/SETTINGS/1.0.0 /xsd/settings-1.0.0.xsd"> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!- EXAMPLE FOR MYSQL -> <sonar.jdbc.url>jdbc:mysql:/localhost:3306/sonar?useUnicode=true&characterEncoding=utf8 </sonar.jdbc.url> <sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName> <sonar.jdbc.username>sonar</sonar.jdbc.username> <sonar.jdbc.password>so
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西藏藏醫(yī)藥大學《數(shù)字視頻特技》2023-2024學年第二學期期末試卷
- 渤海石油職業(yè)學院《Python語》2023-2024學年第二學期期末試卷
- 陽泉師范高等??茖W?!督煌üぞ咴O計(Ⅰ)》2023-2024學年第二學期期末試卷
- 四川華新現(xiàn)代職業(yè)學院《食品添加劑線上》2023-2024學年第二學期期末試卷
- 2024-2025學年江蘇省東臺市第一中學高三上學期12月份階段測試歷史試卷
- 2025年安徽省安全員《B證》考試題庫
- 中山大學《DMAXD》2023-2024學年第二學期期末試卷
- 武漢晴川學院《工程經濟學》2023-2024學年第二學期期末試卷
- 內蒙古大學創(chuàng)業(yè)學院《產品設計與市場營銷》2023-2024學年第二學期期末試卷
- 泰山護理職業(yè)學院《行政學原理》2023-2024學年第二學期期末試卷
- 小兒高熱驚厥精品課件
- 優(yōu)秀員工榮譽證書模板
- 仁愛版八年級英語上復習課Unit 2 Keep Healthy Topic1 2教學課件
- 三維電生理導航系統(tǒng)技術參數(shù)
- 三年級下冊科學活動手冊
- 《交通工程CAD》課程教學大綱(本科)
- 人教版數(shù)學五年級下冊 全冊各單元教材解析
- 換班申請表(標準模版)
- 者陰村戰(zhàn)友紀念者陰山對越自衛(wèi)還擊作戰(zhàn)30周年聯(lián)誼會計劃2
- 基于單片機的電子廣告牌設計畢業(yè)設計論文
- 承插型盤扣式支模架專項施工方案
評論
0/150
提交評論