持續程式碼質量管理-Sonar部署
持續程式碼質量管理-Sonar部署
Sonar 是一個用於程式碼質量管理的開放平臺。通過外掛機制,Sonar 可以整合不同的測試工具,程式碼分析工具,以及持續整合工具。與持續整合工具(例如 Hudson/Jenkins 等)不同,Sonar 並不是簡單地把不同的程式碼檢查工具結果(例如 FindBugs,PMD 等)直接顯示在 Web 頁面上,而是通過不同的外掛對這些結果進行再加工處理,通過量化的方式度量程式碼質量的變化,從而可以方便地對不同規模和種類的工程進行程式碼質量管理。
在對其他工具的支援方面,Sonar 不僅提供了對 IDE 的支援,可以在 Eclipse 和 IntelliJ IDEA 這些工具裡聯機檢視結果;同時 Sonar 還對大量的持續整合工具提供了介面支援,可以很方便地在持續整合中使用 Sonar。
此外,Sonar 的外掛還可以對 Java 以外的其他程式語言提供支援,對國際化以及報告文件化也有良好的支援。
Sonar部署
Sonar的相關下載和文件可以在下面的連結中找到:http://www.sonarqube.org/downloads/
需要注意最新版的Sonar需要至少JDK 1.8及以上版本。
1 2 3 4 5 | cd /usr/local/src wget https: //sonarsource .bintray.com /Distribution/sonarqube/sonarqube-6 .2.zip unzip sonarqube-6.2.zip mv sonarqube-6.2 /usr/local/ ln -s /usr/local/sonarqube-6 .2/ /usr/local/sonarqube |
準備Sonar資料庫
1 2 3 4 5 | mysql mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> GRANT ALL ON sonar.* TO 'sonar' @ 'localhost' IDENTIFIED BY 'sonar@pw' ; mysql> GRANT ALL ON sonar.* TO 'sonar' @ '%' IDENTIFIED BY 'sonar@pw' ; mysql> FLUSH PRIVILEGES; |
配置Sonar
1 2 3 4 5 | cd /usr/local/sonarqube/conf/ vim sonar.properties sonar.jdbc.username=sonar sonar.jdbc.password=sonae@pw sonar.jdbc.url=jdbc:mysql: //localhost :3306 /sonar ?useUnicode= true &characterEncoding=utf8&rewriteBatchedStatements= true &useConfigs=maxPerformance |
配置Java訪問資料庫驅動(可選)
預設情況Sonar有自帶的嵌入的資料庫,那麼你如果使用類是Oracle資料庫,必須手動複製驅動類到${SONAR_HOME}/extensions/jdbc-driver/oracle/目錄下,其它支援的資料庫預設提供了驅動。
其它資料庫的配置可以參考官方文件:http://docs.sonarqube.org/display/HOME/SonarQube+Platform
啟動Sonar
可以在Sonar的配置檔案來配置Sonar Web監聽的IP地址和埠,預設是9000埠。
1 2 3 | vim sonar.properties sonar.web.host=0.0.0.0 sonar.web.port=9000 |
/usr/local/sonarqube/bin/linux-x86-64/sonar.sh start
訪問Sonar
http://IP:9000
SonarQube Scanner
sonar掃描器下載: http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
1)安裝
1 2 3 | unzip sonar-scanner-2.8.zip mv sonar-scanner-2.8 /usr/local/ ln -s /usr/local/sonar-scanner-2 .8/ /usr/local/sonar-scanner |
2)配置
1 2 3 4 5 6 7 | cd /usr/local/sonar-scanner/conf vim sonar-scanner.properties sonar.host.url=http: //localhost :9000 sonar.sourceEncoding=UTF-8 sonar.jdbc.username=sonar sonar.jdbc.password=sonar@pw sonar.jdbc.url=jdbc:mysql: //localhost :3306 /sonar ?useUnicode= true &characterEncoding=utf8 |
相關文章
- Sonar程式碼質量管理
- 程式碼質量管理-Sonar
- 【Sonar程式碼質量檢測工具】
- 通過Sonar 初步構建程式碼持續審查
- 程式碼質量管理平臺之SonarQube安裝部署
- 持續整合、持續部署、持續交付、持續釋出
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- 前端程式碼質量管理(一)前端
- 持續整合、持續交付、持續部署簡介
- IMVU如何在實施持續部署的同時確保軟體質量
- sonar程式碼質量檢測告警“static“ base class members should not be accessed via derived types
- 質量之匙:持續整合工具與實踐
- 如何做好質量管理、提高研發的程式碼質量?
- Jenkins持續部署-Windows環境持續部署探究1JenkinsWindows
- 淺談持續整合(CI)、持續交付(CD)、持續部署(CD)
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- 程式碼質量管理——如何寫出優雅的程式碼
- 談談持續整合,持續交付,持續部署之間的區別
- 私有化輕量級持續整合部署方案--04-私有程式碼倉庫服務-GiteaGit
- 通過持續Ping來檢測網路質量
- 持續整合:軟體質量改進和風險降低之道
- 通過Docker容器執行持續整合/持續部署Docker
- 前端程式碼集合(持續更新)前端
- SonarQube 5.0 釋出,程式碼質量管理平臺
- 使用流水線外掛實現持續整合、持續部署
- 常用程式碼筆記-持續更新筆記
- Docker+Gitlab+Jenkins+Maven程式碼持續整合與自動部署DockerGitlabJenkinsMaven
- 持續整合及部署利器:GoGo
- 私有化輕量級持續整合部署方案--03-部署web服務(下)Web
- 私有化輕量級持續整合部署方案--03-部署web服務(上)Web
- Jenkins+Sonar質量門禁【實踐篇-maven版】JenkinsMaven
- 【持續部署】批量部署工具,總結、對比
- ASP.net常用程式碼(持續更新)ASP.NET
- CI/CD 持續整合部署實踐
- 微服務容器部署與持續整合微服務
- 以 egg.js 為例的持續整合(CI)、持續部署(CD)JS
- PMD使用與程式碼質量
- 持續整合、持續交付和持續部署有什麼區別?0基礎學習linux技能Linux