一、為什么安裝?
SonarQube是管理代碼質量的一個開放平台,可以快速的定位代碼中潛在的或者明顯的錯誤。
前端妹子一枚,公司要求自己檢查代碼質量。我用mac安裝sonarQube的時候,查詢相關文檔都描述的不夠詳細,踩過了不少坑,所以把安裝過程及踩坑點詳細的記錄了下來。
想事先了解sonarQube的可以去看看官網:sonarQube官網
下面是安裝成功后,測試一個項目代碼質量的截圖,可以看到有相關的bug和重復率等測試結果。
二、mac如何安裝?
1. 需要安裝數據庫,我用的是mysql。
- 官網下載mysql.
注意:sonarQube需要的mysql版本是5.7以后並且是8.0之前的版本,現在官網可用版本為5.7.26,不能下載最新版8.0.16!!!如果電腦已經安裝了最新版,請重新安裝舊版5.7.26。
- 該版本安裝時有一個初始密碼,需要先自己改密碼,再啟動。如果不更改密碼,會啟動失敗!!!
2 sonarQube安裝與配置
- 官網下載sonarQube,下載鏈接。
- 如果mac系統下載不了sonarQube, 請移步百度網盤, 鏈接: https://pan.baidu.com/s/14W_ej2FrPxiQI4NjtS3UGQ 提取碼: cx3t
- 解壓壓縮包,可雙擊解壓,或在終端進入sonarQube所在的文件夾並輸入命令 unzip sonarqube-7.7.zip 解壓
- 對SonarQube的配置文件進行更改.位置是: /sonarqube-7.7/conf/sonar.properties,在終端輸入命令 vi + “sonar.properties的路徑”, 以我的為例:
vi /usr/sonar/sonarqube-7.7/conf/sonar.properties
- 進入sonar.properties文件后,更改一些配置, 配置數據庫的用戶名、密碼、端口號。
- 注意:我使用的數據庫是mysql, 用戶是root用戶,密碼是root用戶對應的密碼。如果使用的是其它數據庫,則配置與下面的不同
# #代表注釋,原配置是把uername、password、url、host、port注釋了,請把這幾個的注釋去掉,即把前面的#去掉。
sonar.jdbc.username=root
sonar.jdbc.password=123213
# url是你自己的url,默認就有配置的。
sonar.jdbc.url=?
#使用0.0.0.0是保證任何地址都可以使用
sonar.web.host=0.0.0.0
#默認端口為9000,如果想避免和NodeJS的端口沖突。可以更改,我這里未更改
sonar.web.port=9000
- 測試sonarQube是否安裝成功
- 進入到目錄sonarqube-7.7/bin/macosx-universal-64/sonar下,輸入如下命令。sonar如成功啟動, 終端會呈現Starting SonarQube... Started SonarQube...
sh sonar.sh start
-
- 再進入到目錄sonarqube-7.7/logs下,輸入命令:
tail -f sonar.log
-
- SonarQube在安裝完后運行: 127.0.0.1:9000,成功運行則sonarQube安裝成功。
- 若出現如下提示: SonarQube is under maintenance...先運行http://127.0.0.1:9000/setup
3. 安裝與配置sonar-scanner
- 官網下載sonar-scanner,下載鏈接。注意:mac系統請下載對應的mac版本的sonar-scanner,用linux版本的會安裝失敗!!!
- 如果mac系統下載不了sonar-scanner,請移步百度網盤, 鏈接: https://pan.baidu.com/s/14W_ej2FrPxiQI4NjtS3UGQ 提取碼: cx3t
- 解壓sonar-scanner,可雙擊解壓,或終端進入到sonar-scanner所在的文件夾輸入 unzip sonar-scanner-cli-3.3.0.1492-macosx.zip解壓
- 配置環境變量
- 首先進入bash.profile文件,輸入命令 vi ~/.bash_profile,進行編輯文本模式。
- 配置sonar_home、sonar_scanner_home、path(路徑換成你的sonarqube與sonar-scanner文件所在的絕對路徑),以我的為例:
export SONAR_HOME=/usr/sonar/sonarqube-7.7
export SONAR_SCANNER_HOME=/usr/sonar/sonar-scanner-cli-3.3.0.1492-macosx
export PATH=$PATH:$SONAR_SCANNER_HOME/bin
-
- 退出文本編輯模式(按Esc,:wq),執行命令: source ~/.bash_profile,使配置立即生效
- 測試sonar-scanner是否安裝成功,輸入命令: sonar-scanner -v,成功安裝如下圖:
3.掃描項目
終端進入到待測試的項目根目錄,新建sonar-project.properties文件: 輸入命令vi sonar-project.properties,進行文本編輯模式。
增加如下配置,其中:sonar.projectName是項目名字,sonar.sources=是源文件所在的目錄
# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# this is the name displayed in the SonarQube UI
sonar.projectName=i2work-operation
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
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
#path to your project build output path
sonar.java.binaries=target/classes
4. 打開終端,進入待測試項目根目錄,執行命令:sonar-scaneer, 成功如下圖:
- 打開SonarQube:http://localhost:9000即可看見正在分析中的后台任務