SonarQube是一款開源的代碼質量管理工具,支持多種語言,如:JAVA、C#、C\C++等,同時可以與Sonar Scanner、Maven、Jekins、IDEA等工具進行集成。
一、安裝
注意:
1、SonarQube7.9及以后的版本不再支持MySQL
2、SonarQube7.9之前的版本要求MYSQL(5.6=< 版本<8.0)
3、SonarQube對SqlServer的版本要求也挺高
4、SonarQube7.9要求jdk11及以上
總之,在安裝之前一定要確定好SonarQube版本、數據庫版本、jdk版本,網址:https://docs.sonarqube.org/latest/requirements/requirements/
下面示例還是使用一個較老的版本進行安裝:SonarQube7.2.1+mysql5.6+jdk1.8
1.1、mysql數據庫安裝
下載離線安裝包並解壓
添加環境變量
修改配置文件my-default.ini
以管理員身份運行cmd(一定要用管理員身份運行,不然權限不夠),通過命令,進入bin目錄
輸入 mysqld --initialize-insecure --user=mysql
輸入 mysqld install
啟動mysql,net start mysql
輸入 mysql -u root -p ,回車,出現 Enter password: ,輸入密碼,由於剛安裝,沒有設置密碼,直接回車 Enter 進入
設置root密碼,依次輸入以下命令
mysql>use mysql; mysql>update user set password=password('your password') where user='root'; mysql>flush privileges;
輸入 quit 命令退出當前登錄,用新的密碼重新連接 mysql
mysql默認只能本機登錄,如果只是本機使用,就可以不用設置遠程登錄,使用 localhost做為主機地址登錄。
如果想遠程登錄,通過以下命令,設置允許遠程登錄:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
your username 和 your password 改成 mysql 數據庫的用戶和密碼
至此,mysql安裝完成,默認端口號為3306。
1.2、SonarQube安裝
下載地址:https://www.sonarqube.org/downloads/
界面底部,可以下載歷史版本
在 mysql上創建數據庫sonar
解壓,修改配置文件sonar.properties
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false sonar.jdbc.username=root sonar.jdbc.password=gy@12345 sonar.sourceEncoding=UTF-8
啟動SonarQube,這里是windows64位的啟動方式
出現Process[es] is up代表啟動成功,第一次啟動會在數據庫中自動生成相關的表。
在瀏覽器輸入:http://localhost:9000,如果看到以下頁面說明配置成功:
點擊“Log in”,輸入用戶名和密碼,默認:admin/admin,有一步token認證,可以忽略。
漢化包安裝,根據SonarQube選擇對應的版本,下載地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases
漢化包放到extensions/plugins文件夾下
重啟SonarQube服務,windows情況下,可能會報錯,打開任務管理器,關閉所有的java.exe進程,然后重新運行StartSonar.bat文件。
打開網頁,界面已經被漢化
二、使用
SonarQube可以結合多種工具使用,Sonar Scanner、Maven、Jekins、IDEA等等,下面以maven為例。
2.1、配置maven
修改maven的conf/setting文件,增加如下內容。
<pluginGroups> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> </pluginGroups> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- Optional URL to server. Default value is http://localhost:9000 --> <sonar.host.url> http://localhost:9000 </sonar.host.url> </properties> </profile> </profiles>
2.2、檢測代碼
找到包含pom.xml的代碼路徑
打開cmd,進入上面的路徑,執行命令:mvn clean install sonar:sonar,注意:maven要加入環境變量。
刷新網頁