最近對SonarQube進行了一點學習,從網絡上查詢了很多的文章,然後自己又進行了各種實踐,終於成功的實現了代碼掃描。
SonarQube的安裝
SonarQube下載
首先我們需要去SonarQube的官網進行下載,我這裏下載的是最新的版本8.0,當然自己按照自己的喜好進行版本的下載即可:
安裝嘛根本就沒有了,直接找個位置解壓縮就可以了。
SonarQube運行
找到自己的系統版本運行對應的StartSonar.bat:
運行界面如下:
這時可以看一下http://localhost:9000這個地址頁面了:
當然我之前運行過了,所以可能和你們顯示的不太一樣,不過沒關係,能顯示信息就可以了:
然後我們可以登錄,用戶名和密碼就是admin,admin.
如果你對英語不是很敏感的話,那就可以用到接下來的漢化教程了:
按照步驟進行操作:
安裝完畢後點擊重啓即可:
等一會會讓你再次登錄,然後就變成漢語啦:
還有就是需要特別注意以下幾個點:
- 不知道從那個版本開始SonarQube就不支持mysql了,這個比較坑,不過還有oracle和postgresql可以用,我這邊用的都是postgresql,畢竟免費的。
- SonarQube對jdk也是有要求的,要求jdk11+,我這邊安裝的就是jdk11完美運行,別的沒有試過。
SonarQube重啓
在window沒有辦法通過命令進行SonarQube的停止或者重啓,只能粗暴的停止進程,然後再次運行StartSonar.bat:
SonarQube的配置
sonar配置
找到SonarQube裏面config文件夾下面的sonar.properties配置文件,進行數據庫信息的配置:
sonar.jdbc.username=用戶名
sonar.jdbc.password=密碼
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube
maven配置
因爲我這裏是掃描的maven工程,所以需要在maven配置文件中進行相關的設置:
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>
jdbc:postgresql://localhost:5432/sonarqube
</sonar.jdbc.url>
<sonar.jdbc.driver>org.postgresql.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>用戶名</sonar.jdbc.username>
<sonar.jdbc.password>密碼</sonar.jdbc.password>
<sonar.host.url>http://localhost:9000</sonar.host.url>
</properties>
</profile>
</profiles>
配置完畢之後需要根據之前說的那樣將SonarQube重啓。
maven工程掃描
掃描maven工程
上面已經配置好了maven環境變量,然後在需要掃描的項目路徑下執行以下maven命令,即可掃描項目代碼:
mvn clean verify sonar:sonar
會執行很多東西,等到執行完畢之後就可以去http://127.0.0.1:9000/sonar查看了:
好了就是這樣了。。。
IDEA裏面集成sonar
安裝SonarLint插件即可:
在IDEA的左下角就會出現這個了,可以查看代碼的問題
說實話,感覺沒有阿里巴巴的代碼掃描好用,個人見解。。。
關於SonarQube的升級
剛纔SonarQube發佈了8.0版本,我之前是7.9.1版本,本着能用就用最新的理念。我就下載並替換了8.0版本,可是啓動的時候出現了:
SonarQube is under maintenance. Please check back later.
Whilst waiting, you might want to check new plugins to extend the current functionality.
If you are an administrator and have no idea why this message is showing, you should read the upgrade guide
這裏表示很懵B呀,於是百度到升級方法就是:
http://127.0.0.1:9000/setup 按照提示更新下SonarQube就可以啦,當然地址肯定要是你自己的地址了。