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ù)的代碼檢查。

2.持續(xù)集成

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掃描下載
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

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

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ù)有初始化的表信息。


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

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

步驟三: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中配置快捷鍵

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

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

前端代碼檢查
項(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