Sonar是什麼html
Sonar是一個用於代碼質量管理的開源平臺,用於管理Java源代碼的質量。經過插件機制,Sonar 能夠集成不一樣的測試工具,代碼分析工具,以及持續集成工具,好比pmd-cpd、checkstyle、findbugs、Jenkins。經過不一樣的插件對這些結果進行再加工處理,經過量化的方式度量代碼質量的變化,從而能夠方便地對不一樣規模和種類的工程進行代碼質量管理。同時 Sonar 還對大量的持續集成工具提供了接口支持,能夠很方便地在持續集成中使用 Sonar。 此外,Sonar 的插件還能夠對 Java 之外的其餘編程語言提供支持,對國際化以及報告文檔化也有良好的支持。java
部署docker
下面咱們先來部署一下編程
這裏咱們依然使用Docker來部署Sonar bash
運行Docker 命令 使用官方鏡像 sonarqube便可編程語言
docker run -d --restart=always --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube
與Jenkins集成使用工具
實踐使用中咱們須要和CI工具 進行配合使用 測試
這裏咱們主要討論與jenkins的集成使用插件
咱們使用Jenkins sonar 插件來集成rest
進入Jenkins 插件管理頁面 選擇安裝 SonarQube Plugin 便可
安裝完成後須要配置一下 sonar 服務的地址 和 用戶名密碼
而後進入你的Jenkins項目 目錄 在構建完成後添加
Invoke Standalone SonarQube Analysis 步驟便可
固然在項目的根目錄下還要添加一下Sonar的配置文件
#projectKey項目的惟一標識,不能重複。 sonar.projectKey=XXX #projectName值不能是中文 sonar.projectName=XXX sonar.projectVersion=3.0 sonar.sourceEncoding=UTF-8 sonar.modules=java-module # Java module java-module.sonar.projectName= XXX java-module.sonar.language=java # .表示projectBaseDir指定的目錄 java-module.sonar.sources=src java-module.sonar.projectBaseDir=. #class 文件 java-module.sonar.binaries=./target/classes
好了再次提交代碼後 進入Sonar 頁面就能夠看到當前的項目的狀況了