持續程式碼質量管理-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程式碼質量管理
- 程式碼質量管理平臺之SonarQube安裝部署
- 持續整合質量保證方案
- 持續整合、持續交付與持續部署
- 前端程式碼質量管理(一)前端
- 持續整合、持續部署、持續交付、持續釋出
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- sonar程式碼質量檢測告警“static“ base class members should not be accessed via derived types
- 私有化輕量級持續整合部署方案--05-持續部署服務-Drone(上)
- 私有化輕量級持續整合部署方案--05-持續部署服務-Drone(下)
- Jenkins持續部署-Windows環境持續部署探究1JenkinsWindows
- 你真的懂持續整合、持續交付、持續部署嗎?!
- Jenkins持續部署-建立差量更新包Jenkins
- 如何做好質量管理、提高研發的程式碼質量?
- 淺談持續整合(CI)、持續交付(CD)、持續部署(CD)
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- Docker+Gitlab+Jenkins+Maven程式碼持續整合與自動部署DockerGitlabJenkinsMaven
- 3分鐘瞭解清楚持續整合、持續交付、持續部署
- 私有化輕量級持續整合部署方案--04-私有程式碼倉庫服務-GiteaGit
- 前端程式碼集合(持續更新)前端
- Jenkins+Sonar質量門禁【實踐篇-maven版】JenkinsMaven
- 使用流水線外掛實現持續整合、持續部署
- Windows + Jenkins + .NetFramework + SVN 持續部署WindowsJenkinsFramework
- 【持續部署】批量部署工具,總結、對比
- 私有化輕量級持續整合部署方案--03-部署web服務(下)Web
- 私有化輕量級持續整合部署方案--03-部署web服務(上)Web
- 以 egg.js 為例的持續整合(CI)、持續部署(CD)JS
- docker版jenkins持續整合部署及連線gitee碼雲DockerJenkinsGitee
- 持續整合、持續交付和持續部署有什麼區別?0基礎學習linux技能Linux
- java程式碼編寫優化(持續更新...)Java優化
- 微服務容器部署與持續整合微服務
- CI/CD 持續整合部署實踐
- 前端專案基於GitLab-CI的持續整合/持續部署(CI/CD)前端Gitlab
- SpringBoot+Docker+Git+Jenkins實現簡易的持續整合和持續部署Spring BootDockerGitJenkins
- [譯] 如何使用 CircleCI for GitHub Pages 持續部署Github
- 持續整合工具之Jenkins安裝部署Jenkins
- Jenkins持續部署-自動生成版本號Jenkins
- 使用 GitHub 和 Python 實現持續部署GithubPython