Windows環境配置SonarQube結合Sonar Scanner進行代碼分析

本文簡述在Windows環境下安裝配置SonarQube工具,以及配置Sonar Scanner進行代碼分析。java

關於SonarQube的做用這裏很少贅述,請自行百度。mysql

配置SonarQube環境要求

  1. JDK: 版本最好在1.6及以上,不建議使用過低的版本
  2. 數據庫: 目前主流的數據庫SonarQube基本都支持,這裏用MySQL來進行配置,版本5.6及以上

SonarQube下載與安裝

下載

SonarQube官網下載連接:https://www.sonarqube.org/dow...linux

版本可自行決定,通常用較爲穩定的版本web

本文用的版本是SonarQube 6.7.1 (LTS *) 於2017年12月21日更新的版本sql

clipboard.png

安裝

將下載的壓縮包解壓至相應目錄下,我這裏放在了D盤數據庫

clipboard.png

能夠看到D盤SonarQube下文件列表瀏覽器

運行

由上面解壓後獲得的文件夾能夠看到bin爲運行文件夾,conf爲配置文件夾app

這裏個人系統是Windows64位,因此找到以下圖中對應系統文件夾進入點擊StartSonar.bat運行啓動SonarQube
(linux和mac是對應系統文件夾下sonar.sh爲啓動文件)工具

如圖看到SonarQube is up則啓動成功編碼

clipboard.png

clipboard.png

clipboard.png

如圖,SonarQube默認9000端口,瀏覽器訪問http://localhost:9000或http://127.0.0.1:9000便可看到運行頁面

clipboard.png

配置

數據庫

這裏使用的是MySQL,版本5.6

  • 建立數據庫

MySQL建立數據庫這裏很少作說明,這裏建立的數據庫名稱爲sonar

  • 配置數據庫

剛纔介紹過解壓後的conf爲配置文件夾,進入可看到sonar.properties

clipboard.png

編輯該文件,找到MySQL 5.X 位置,將#註釋符號去掉,修改數據庫IP、端口和數據庫名稱
這裏用的是本機數據庫,因此IP爲127.0.0.1,若是是遠程數據庫改成IP地址便可

clipboard.png

以上是數據庫鏈接,下面說數據庫用戶名和密碼

仍是上面的sonar.properties文件,找到sonar.jdbc.username和password內容,修改成你的數據庫用戶名和密碼

clipboard.png

SonarQube其餘配置

SonarQube默認的端口是9000,找到sonar.web.port位置,可進行端口號的修改

clipboard.png

完成如上配置之後,重啓SonarQube,ctrl+c停掉SonarQube運行窗口,再次運行StartSonar.bat啓動SonarQube

登陸

如圖點擊Log in進入登陸頁面,輸入帳號和密碼,默認帳號和密碼都是admin

clipboard.png.]

安裝插件

登陸之後,以下圖進入插件安裝頁面

clipboard.png

這裏經常使用的便是中文插件,如圖搜索chinese pack包進行install

clipboard.png

安裝成功之後restart,如圖英文切換爲中文

clipboard.png

以上內容是SonarQube的安裝與配置,下面說一下配置Sonar Scanner進行項目代碼分析

Sonar Scanner安裝配置

下載

附上下載連接:https://docs.sonarqube.org/di...
這裏下載的是Windows 64位

安裝

一樣的解壓下載的壓縮包,這裏仍舊放到D盤

clipboard.png

配置

文件配置

如圖,進入剛解壓獲得的文件夾中conf文件夾,配置sonar-scanner.properties

clipboard.png

編輯該文件,修改sonar訪問的url以及數據庫等
這裏貼出個人配置示例

#Configure here general information about the environment, such as SonarQube DB details for example
#No information about specific project should appear here

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

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

sonar.jdbc.username=root 
sonar.jdbc.password=4rfv5tgb 
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonartest?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
useConfigs=maxPerformance 
sonar.sourceEncoding=UTF-8 
sonar.login=admin 
sonar.password=admin

環境變量

如何新建環境變量很少說明,直接說編輯的環境變量
在環境變量path中加入 D:SonarScannerbin(D:SonarScanner爲我前面Sonar Scanner解壓以後放的位置)

clipboard.png

配置完成之後,在命令行輸入sonar-scanner -version,以下圖所示,則配置成功

clipboard.png

以上就是SonarQube和Sonar Scanner的配置內容,下面說說二者結合起來進行項目代碼審查

項目審查配置

在項目根路徑目錄下建立文件sonar-project.properties

sonar.projectKey=Sonartest   //項目key
sonar.projectName=Sonartest  //項目名字
sonar.projectVersion=1.0     //項目版本
sonar.sources=src            //要分析的源碼的目錄 多個目錄用英文逗號隔開
sonar.java.binaries=WebRoot/WEB-INF/classes  
//新版的須要加上binaries這個屬性,不然沒法解析,我這裏是Java項目,因此部署後有對應的classes文件夾
sonar.language=java          //語言
sonar.sourceEncoding=UTF-8   //編碼

編輯完該文件後打開命令行,進入項目根目錄下,而後輸入"sonar-scanner"命令,執行代碼分析
看到如圖success即分析成功

clipboard.png

瀏覽器再次訪問SonarQube,能夠看到分析的項目Sonartest,點擊項目進入便可看到相關問題及修改方式

clipboard.png

好了,以上就是Windows下配置SonarQube結合Sonar Scanner進行代碼分析的所有內容。這裏進行代碼分析每次都要執行腳本,且在每一個項目目錄下建立文件sonar-project.properties項目多了的話老是比較麻煩的,下面會再寫一篇說嘛Jenkins配置SonarQube進行代碼分析這樣就不用每次建立而後到cmd鍵入命令執行分析了

相關文章
相關標籤/搜索