sonar搭建使用教程

一、sonar下載安裝

下載地址:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.5.zip
下載完成之后,解壓,目錄結(jié)構(gòu)如下:

sonarqube目錄結(jié)構(gòu)

可以看到bin目錄下有各種不同操作系統(tǒng)文件夾,里面放的是sonarqube在不同操作系統(tǒng)中的啟動(dòng)腳本。我用的是Mac,進(jìn)入macosx-universal-64目錄,執(zhí)行./sonar.sh start命令,即可啟動(dòng)sonarqube。關(guān)閉使用./sonar.sh stop命令。
默認(rèn)情況下,啟動(dòng)sonarqube使用的是其內(nèi)嵌的數(shù)據(jù)庫(kù),這樣后面進(jìn)行sonarqube版本升級(jí)的時(shí)候,無(wú)法對(duì)數(shù)據(jù)進(jìn)行備份,所以我們可以配置成自己的數(shù)據(jù)庫(kù)。具體配置方式如下:
1、進(jìn)入 sonarqube-6.7.5/conf目錄,會(huì)看到sonar.properties配置文件和wrapper.conf文件
2、修改sonar.properties配置文件,添加數(shù)據(jù)庫(kù)配置。sonar.properties配置文件中,已經(jīng)幫我們?cè)O(shè)置好了各種數(shù)據(jù)庫(kù)連接,我們只要放開(kāi)注釋就好。

sonar.jdbc.username=root
sonar.jdbc.password=123456
#用戶登錄sonarqube的用戶名
sonar.login=admin
#用戶登錄sonarqube的密碼
sonar.password=admin
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

3、在數(shù)據(jù)庫(kù)中新建一個(gè)sonar數(shù)據(jù)庫(kù),編碼格式設(shè)置為UTF-8
4、重新啟動(dòng)sonarqube
5、用瀏覽器訪問(wèn) http://localhost:9000,進(jìn)入sonarqube頁(yè)面

二、sonar-scanner下載安裝

下載地址:
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-macosx.zip
下載完成之后,解壓,目錄結(jié)構(gòu)如下:

sonar-scanner目錄結(jié)構(gòu)

修改conf目錄下的sonar-scanner.properties文件,添加如下配置:

sonar.jdbc.username=root
sonar.jdbc.password=123456
#sonarqube配置的數(shù)據(jù)庫(kù)
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#sonarqube地址
sonar.host.url=http://localhost:9000

配置sonar-scanner的環(huán)境變量,Mac配置如下所示:

SONAR_RUNNER_HOME=/Users/linbo/Desktop/project/sonar-scanner-3.2.0.1227-macosx
export SONAR_RUNNER_HOME
export PATH=$PATH:$SONAR_RUNNER_HOME/bin

環(huán)境變量配置成功標(biāo)志:
在終端輸入sonar-scanner,打印如下信息

INFO: Scanner configuration file: /Users/linbo/Desktop/project/sonar-scanner-3.2.0.1227-macosx/conf/sonar-scanner.properties
INFO: Project root configuration file: NONE
INFO: SonarQube Scanner 3.2.0.1227
INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
INFO: Mac OS X 10.13.2 x86_64

三、使用

進(jìn)入項(xiàng)目根目錄下,創(chuàng)建sonar-project.properties文件,如果項(xiàng)目根目錄名為X,則向sonar-project.properties文件中添加如下內(nèi)容:

# must be unique in a given SonarQube instance
sonar.projectKey=X
# this is the name displayed in the SonarQube UI
sonar.projectName=X
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=src
sonar.java.binaries=target/classes

# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8

進(jìn)入項(xiàng)目根目錄,執(zhí)行 sonar-scanner命令,執(zhí)行成功之后,訪問(wèn)http://localhost:9000/projects,可看到如下頁(yè)面


通過(guò)sonar,我們可以找出代碼中存在的bug和安全隱患,提升代碼的質(zhì)量。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容