sonarqube審查工具說(shuō)明與安裝

CodeReview能帶來(lái)什么?
CodeReview能解決那些問(wèn)題?
1、讓個(gè)人變的優(yōu)秀 :程序猿成長(zhǎng)的階梯,促進(jìn)工程師日常代碼交流和快速穩(wěn)步成長(zhǎng)。

2、讓團(tuán)隊(duì)變的強(qiáng)大:讓新人密集型團(tuán)隊(duì)、創(chuàng)新型團(tuán)隊(duì)凝聚一股敦實(shí)的技術(shù)力量,有益于團(tuán)隊(duì)知識(shí)分享與合作,增加團(tuán)隊(duì)?wèi)?zhàn)斗力。

3、讓公司IT技術(shù)穩(wěn)健:為未來(lái)公司長(zhǎng)遠(yuǎn)戰(zhàn)略目標(biāo)打下夯實(shí)的技術(shù)基石。

CodeReview能解決那些問(wèn)題?
1、生產(chǎn)服務(wù)不穩(wěn)定,火災(zāi)頻繁。

2、代碼債務(wù)重,后續(xù)入職人員將錯(cuò)就錯(cuò),項(xiàng)目不受控。

3、bug依賴測(cè)試團(tuán)隊(duì)發(fā)現(xiàn),質(zhì)量和效率低下。

4、團(tuán)隊(duì)成員年輕,水平參差不齊。項(xiàng)目急任務(wù)重沒(méi)有時(shí)間。

1、sonarqube是什么?

SonarQube 官網(wǎng):https://www.sonarqube.org/

Sonar (SonarQube)是一個(gè)開(kāi)源平臺(tái),用于管理源代碼的質(zhì)量。 Sonar 不只是一個(gè)質(zhì)量數(shù)據(jù)報(bào)告工具,更是代碼質(zhì)量管理平臺(tái)。 支持java, JavaScrip, Scala 等等二十幾種編程語(yǔ)言的代碼質(zhì)量管理與檢測(cè)。 SonarQube?是一種自動(dòng)代碼審查工具,用于檢測(cè)代碼中的錯(cuò)誤,漏洞和代碼異味。它可以與您現(xiàn)有的工作流程集成,以便在項(xiàng)目分支和拉取請(qǐng)求之間進(jìn)行連續(xù)的代碼檢查。

image

2.持續(xù)集成


image.png

1、在IDE中使用sonarlint插件運(yùn)行本地分析

2、開(kāi)發(fā)者將代碼提交到scm工具中

3、持續(xù)集成工具自動(dòng)觸發(fā)檢查代碼執(zhí)行SonarQube Scanner 運(yùn)行sonarqube分析

4、分析報(bào)告?zhèn)鬟f給sonarqube server進(jìn)行加工處理

5、進(jìn)行處理分析、將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中、將效果通過(guò)ui展示出來(lái)

6、開(kāi)發(fā)者通過(guò)sonarqube ui查看自己的bug和技術(shù)債等

7、項(xiàng)目經(jīng)理、運(yùn)維經(jīng)理、測(cè)試經(jīng)理、開(kāi)發(fā)人員通過(guò)代碼報(bào)表進(jìn)行查看管理
<meta charset="utf-8">

2、windows如何安裝

步驟一:準(zhǔn)備工作

1、jdk1.8、maven-3.6.0

2、sonarqube下載地址:

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip

3、Sonar Scanner掃描下載

https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-windows.zip

4、mysql數(shù)據(jù)庫(kù)(5.7)

步驟二:sonarqube安裝和配置篇

1、下載好sonarqube后,解壓打開(kāi)bin目錄,啟動(dòng)相應(yīng)OS目錄下的StartSonar。如本文演示使用的是win的64位系統(tǒng),則打開(kāi)E:\sonar\sonarqube-7.6\bin\windows-x86-64\StartSonar.bat

image

2.啟動(dòng)瀏覽器,訪問(wèn)http://localhost:9000,如出現(xiàn)下圖則表示安裝成功。

image

3、修改sonar.properties文件,添加mysql連接信息配置。E:\sonar\sonarqube-7.6\conf\sonar.properties【url是數(shù)據(jù)庫(kù)連接地址,username是數(shù)據(jù)庫(kù)用戶名,jdbc.password是數(shù)據(jù)庫(kù)密碼,login是sonarqube的登錄名,sonar.password是sonarqube的密碼】

//數(shù)據(jù)庫(kù)地址

sonar.jdbc.url=jdbc:mysql://10.10.8.31:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

sonar.sorceEncoding=UTF-8

//sonar登錄用戶

sonar.login=admin

sonar.password=admin

4、重啟sonarqube服務(wù),再次訪問(wèn)http://localhost:9000,會(huì)稍微有點(diǎn)慢,因?yàn)橐跏蓟瘮?shù)據(jù)庫(kù)信息。windows重啟方法:在資源管理器中關(guān)閉所有的java.exe進(jìn)程,然后重新運(yùn)行StartSonar.bat文件;訪問(wèn)地址進(jìn)行登錄,初始的賬號(hào)密碼是:admin/admin,數(shù)據(jù)庫(kù)有初始化的表信息。

image
image

5、插件安裝chinese Pack,安裝中文語(yǔ)言包

image

6、安裝好插件重啟sonar,登錄后如下

image

步驟三:sonar-scanner安裝和配置篇

1、解壓sonar-scanner,配置環(huán)境變量

A:新建環(huán)境變量:SONAR_SCANNER_HOME、值:E:\sonar\sonar-scanner-3.3.0.1492

B:打開(kāi)path,添加%SONAR_SCANNER_HOME%\bin;

C:cmd進(jìn)入,輸入sonar-scanner -v 出現(xiàn)如下為設(shè)置成功

2、修改settings.xml文件,E:\CFS\outTool\apache-maven-3.6.0\conf\settings.xml

<pluginGroups>

    <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>

</pluginGroups>

</profiles>

<profile>

        <id>sonar</id>

        <activation>

            <activeByDefault>true</activeByDefault>

        </activation>

        <properties>

          <sonar.jdbc.url>jdbc:mysql://10.10.8.31:3306/sonar</sonar.jdbc.url>

            <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>

            <sonar.jdbc.username>sonar</sonar.jdbc.username>

            <sonar.jdbc.password>sonar</sonar.jdbc.password>

            <sonar.host.url>http://10.10.7.67:9000/</sonar.host.url>

        </properties>

    </profile>

</profiles>

3、項(xiàng)目maven Reimport后,必須編譯項(xiàng)目后才能分析target目錄下class文件。執(zhí)行clean install sonar:sonar,進(jìn)行代碼掃描分析

A:idea中配置快捷鍵

image

B:項(xiàng)目控制臺(tái)出現(xiàn)如下為分析執(zhí)行完畢

image

4、刷新 http://localhost:9000 ,點(diǎn)擊項(xiàng)目模塊出現(xiàn)如下分析結(jié)果

image

前端代碼檢查

項(xiàng)目根目錄新增配置文件:sonar-project.properties

配置詳細(xì):

must be unique in a given SonarQube instance

sonar.projectKey=Artemis-front

this is the name displayed in the SonarQube UI

sonar.projectName=Artemis-front

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=.

在根目錄運(yùn)行命令:sonar-scanner

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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