SonarQube7.4安裝和使用


聲明

本文轉自:https://www.jianshu.com/p/dd4a4bc59fc3?from=singlemessage

正文

近期比較關注代碼的檢測,之前由於用的findbugs,因此沒有可視化的界面
所以便搜索了一些代碼檢測管理平台,於是便搜索到了這一款平台,接下來就開始搭建吧

前期准備

  • jdk 1.8.0._131
  • maven 3.5.3
  • mysql 5.7

開始搭建

  1. 軟件下載
    登陸網址 https://www.sonarqube.org/downloads/
    直接下載最新的社區版即可

     
    1

     

  2. 配置數據源
    打開配置文件:..\sonarqube-7.4\conf\sonar.properties
    增加配置:以下是mysql的配置

#----- DEPRECATED 
#----- MySQL >=5.6 && <8.0
# Support of MySQL is dropped in Data Center Editions and deprecated in all other editions
# Only InnoDB storage engine is supported (not msyISAM).
# Only the bundled driver is supported. It can not be changed.
#sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
  1. 啟動
    ..\sonarqube-7.4\bin\windows-x86-64\StartSonar.bat

原先配置的數據源是Oracle,啟動的時候提示連接oracle的jar包不存在,將連接oracle的jar放到路徑
..\sonarqube-7.4\extensions\jdbc-driver\oracle\ojdbc14-10.2.0.1.0.jar

如果啟動的時候 提示“另一程序正在使用此文件”
由於之前啟動的sonar進程未關閉,有沖突;打開資源管理器(ctrl+shift+esc),殺掉java進程重新啟動,問題解決

再次啟動的時候,啟動過會兒窗口會自動關閉,那是因為報錯了,打開log文件..\sonarqube-7.4\logs\sonar.log,發現提示“遠程主機強迫關閉了一個現有的連接”,如下所示:

 
2


然后打開web.log,發現提示如下:

 
3


這是因為連接的oracle的jar的版本過低

 

還有官方要求oracle的版本:

#----- Oracle 11g/12c # The Oracle JDBC driver must be copied into the directory extensions/jdbc-driver/oracle/. # Only the thin client is supported, and only the versions 11.2.x or 12.2.x must be used. See # https://jira.sonarsource.com/browse/SONAR-9758 for more details. # If you need to set the schema, please refer to http://jira.sonarsource.com/browse/SONAR-5000 #sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/XE 

想想算了,不想去找jar包了於是便升級mysql版本到mysql5.7,然后mysql的連接上面已經提供了
配置好重新啟動,由於第一次需要創建表,所以可能有點慢

  1. 登陸系統
    訪問http://localhost:9000
    初始用戶名 密碼 admin admin

登陸系統后按照如下步驟下載安裝 中文漢化包

 
4

 

安裝好插件重啟sonar,登錄后如下(已經創建了一個項目,首次登錄后界面有些許差異)

 

 
5

接下來創建第一個項目

 

 
6

mvn sonar:sonar \
  -Dsonar.host.url=http://localhost:9000 \
  -Dsonar.login=0006282044b5a5098d23d999c93f9c11eef16025

復制到maven項目的根目錄下啟動檢查即可

檢查后可以在SonarQube平台里看到一些代碼的問題,如下:

 

 
7

 

 
8

 

 
9
  1. Windows下重啟sonar:(這一步不清楚有沒有更好的方法,如有請指出
  • 首先關閉SonarQube.bat窗口
  • 再Ctrl+Shift+Esc調出windows資源管理器
  • 在進程中關閉所有java.exe進程
  • 然后重新進入.\sonarqube-7.4\bin\windows-x86-64\,運行StartSonar.bat文件

IDEA集成SonarLint

SonarLint 是一個插件,可以集成到開發工具里,有以下功能

  • 當打開java文件時可自動分析靜態文件,也可以手動對整個項目做分析;
  • 可連接到SonarQube同步分析規則、質量規則與自定義設置;

由於鵝主只使用IDEA,接下來就說明下IDEA如何集成

  1. 首先配置maven的settings.xml文件,目的是為了將結果同步到SonarQube平台上
    配置代碼如下:
<profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.jdbc.url> jdbc:mysql://127.0.0.1:3306/sonarqube </sonar.jdbc.url> <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver> <sonar.jdbc.username>root</sonar.jdbc.username> <sonar.jdbc.password>root</sonar.jdbc.password> <sonar.host.url>http://127.0.0.1:9000</sonar.host.url> <!-- your_sonar_host是你的服務器地址,如果你的服務在本機則使用localhost --> </properties> </profile> 
  1. 安裝插件sonarLint


     
    10
  2. 配置SonarQube servers


     
    11

如果勾選 Automatically tigger analysis ,將會自動對打開的文件進行分析

  1. 綁定上一步驟創建的,以及選擇項目對應的SonarQube的項目
    這一步是由於上面步驟已經在SonarQube里分析了一次所以這里可以選擇SonarQube project,不清楚有沒有其他方法,如果有的話請指出
     
    12
  2. 執行命令 ,即可將項目進行分析,以及將分析的結果同步到SonarQube平台上,如果只是用插件進行項目分析的話,測試發現是不會同步到平台上的,不清楚是不是哪里步驟有問題...
mvn clean install 
mvn sonar:sonar 

至此整個過程講解結束,如果有疑問或者指點的話歡迎留言(`・ω・´)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM