軟件環境
操作系統環境
Win7旗艦版64位,16G/4核I5
JAVA SDK
需要使用JAVA11,本文選擇了adoptopenjdk,官網是:https://adoptopenjdk.net,筆者在最近了解到這個版本分支,
聽說他有一個基於IBM的OpenJ9的JVM,非常節省內存,適合內存消耗厲害的。HotSpot適合CPU計算密集型的;
按筆者對這里SonarQube這款軟件的理解,應該是CPU使用的比較多,並不適合使用他,由於本地測試機器內存有限,
算是嘗鮮試用,其他JDK也可以,只要版本是11就可以。
不使用JDK11會報以下錯誤:
SonarQube requires Java 11 to run
SonarQube
本篇文章主旨,官方網站https://www.sonarqube.org/,因為其他版本需要費用,本文使用社區版 Community 8.1.0.31237 ,下載地址:
https://www.sonarqube.org/downloads/
數據庫
PostgreSQL 10,SonarQube 7.9以后的版本已經放棄了MySQL,具體原因參考這個MySQL: SonarQube和Gitlab放棄支持的原因
數據庫和JDK是強制要求,必須使用JDK11和,不能使用Mysql,否則在啟動時會報以下錯誤:
mysql:Unsupported JDBC driver provider: mysql
本文使用PostgreSQL 10,官方網站:https://www.postgresql.org,下載地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
安裝過程:https://www.cnblogs.com/2dogslife/p/8414764.html
配置過程
安裝完成后進入數據庫目錄下面的pgAdmin 4,如圖所示:
點擊pgAdmin啟動web程序,進來會默認設置密碼,隨便設置一個並且記錄下來。
然后右鍵Login/Group Roles彈出以下圖片
按照以下圖示操作:
創建數據庫
配置數據庫權限
中文插件
本文使用的語言包版本:8.1-RC1
下載地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-8.1-RC1,
至此,以上軟件環境准備完畢
配置環境
SonarQube啟動參數
打開sonarQube目錄下的sonar.properties,添加以下參數
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:postgresql://localhost/sonar
打開warpper.conf修改屬性為如下配置
wrapper.java.command=D:\develop\AdoptOpenJDK\jdk-11.0.5.10-openj9\bin\java
上面的D:\develop\AdoptOpenJDK\jdk-11.0.5.10-openj9\是我本地JDK11的安裝路徑
啟動服務
啟動前需要下載postgresql的驅動下載回來,並且要把上面的語言包放到SonarQube的目錄中
驅動文件PostgreSQL JDBC 4.2 Driver, 42.2.9
JDBC安裝目錄
將下載回來的語言包sonar-l10n-zh-plugin-8.1-RC1.jar放入extensions\plugins目錄中
切入到bin\windows-x86-64目錄,運行StartSonar.bat 運行成功以后界面如下
中途如果遇到其他問題,自己查看日志解決吧,筆者先下載開發者版本,然后啟動,占用了9001端口,沒啟動成功
使用以下方法查找到對應進程id並且殺死
windows下根據tcp端口查詢對應的進程id(端口被占用)
因為wrapper.exe會把程序設置為守護進程,光殺死了9000端口,沒把另外一個9001端口對應進程關閉。
如果你想把他設置為服務,可以這樣做:
安裝服務 bin/InstallNTService.bat 卸載服務 bin/UninstallNTService.bat
啟動服務 bin/StartNTService.bat 停止服務bin/StopNTService.bat
使用起來非常簡單
使用SonarQube進行代碼質量走查
安裝好以后打開網址http://localhost:9000,初次啟動后台會下載插件進行初始化
默認登錄用戶名及密碼為admin/admin
插件
插件是一個衡量軟件是否有擴展性,以及能否保證持續生命力的一種組件技術。進入后台,按照圖示打開插件市場
界面如下
各位看官可以在此自己選擇的插件:比如
Checkstyle
Findbugs
MyBatis Plugin for SonarQube
YAML Analyzer
Code Smells
等
下一篇文章將介紹如何使用:IDEA中使用插件sonarlint連接到SonarQube對代碼質量進行管控
本文參考/轉載以下一些博客:
https://stackoverflow.com/questions/56884683/sonerqube-doesnt-start
https://blog.csdn.net/xinluke/article/details/52174026