SonarQube7.4和sonar-Scanner-3.2.0環境搭建

SonarQube爲靜態代碼檢查工具,採用B/S架構,幫助檢查代碼缺陷,改善代碼質量,提升開發速度,經過插件形式,能夠支持Java、C、C++、JavaScripe等等二十幾種編程語言的代碼質量管理與檢測。mysql

經過客戶端插件分析源代碼,sonar客戶端能夠採用IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式,並經過各類不一樣的分析機制對項目源代碼進行分析和掃描,並把分析掃描後的結果上傳到sonar的數據庫,經過sonar web界面對分析結果進行管理web

能夠從七個維度檢測代碼質量:sql

(1)複雜度分佈(complexity):代碼複雜度太高將難以理解
(2) 重複代碼(duplications):程序中包含大量複製、粘貼的代碼而致使代碼臃腫,sonar能夠展現源碼中重複嚴重的地方數據庫

(3) 單元測試統計(unit tests):統計並展現單元測試覆蓋率,開發或測試能夠清楚測試代碼的覆蓋狀況
(4) 代碼規則檢查(coding rules):經過Findbugs,PMD,CheckStyle等檢查代碼是否符合規範
(5) 註釋率(comments):若代碼註釋過少,特別是人員變更後,其餘人接手比較難接手;若過多,又不利於閱讀
(6) 潛在的Bug(potential bugs):經過Findbugs,PMD,CheckStyle等檢測潛在的bug編程

(7) 結構與設計(architecture & design):找出循環,展現包與包、類與類之間的依賴、檢查程序之間耦合度windows

SonarQube搭建步驟

  1. 安裝jdk1.8,注意:SonarQube版本不同對jdk要求是不同的。

  2. 安裝MySQL 5.7.20環境並建立實例,注意:SonarQube支持5.6以上版本

  3. 下載SonarQube7.4和sonar-scanner-3.2.0 

  4. 配置SonarQube與mysql數據庫關聯

  5. 本人搭建機器:windows server2008 R2 64位

配置文件:sonarqube-7.4\conf\sonar.properties架構

添加以下數據庫配置:編程語言

sonar.jdbc.url=jdbc:mysql:///sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin工具

配置完成後啓動便可,啓動文件:sonarqube-7.4\bin\windows-x86-64\StartSonar.bat 單元測試

啓動完成後顯示以下信息證實啓動成功。

訪問連接:http://localhost:9000/,默認用戶名祕密:admin/admin

以下圖,能夠選擇對應的中文插件。

接下來配置sonar-scanner-3.2.0與mysql關聯及相關環境變量

sonar-scanner-3.2.0\conf\sonar-scanner.properties

文字內容:

#----- Default SonarQube server
sonar.host.url=http://localhost:9000

#----- Default source code encoding
sonar.sourceEncoding=UTF-8

sonar.jdbc.url=jdbc:mysql:///sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=123456

環境變量配置:


文字內容:

SONAR_SCANNER_HOME

scanner安裝目錄:

C:\Users\sonar-scanner-3.2.0

Path環境變量添加:

;%SONAR_SCANNER_HOME%\bin;

配置完成後,管理員身份運行:sonar-scanner -v 查看是否安裝成功。

接下來在須要掃描的項目根錄下建立sonar-project.properties文件,以下:

最後:cmd管理員執行sonar-scanner便可。

登陸sonarQube查看:

相關文章
相關標籤/搜索