Maven SonarQube CodeReview

介紹

  1. SonarQube
* 官網: https://www.sonarqube.org/
    * 介紹:(曾用名Sonar(聲納)是一個開源的代碼質量管理系統。 複製代碼
  1. SonarQube 特徵
* 支持超過25種編程語言:Java、C/C++、C#、PHP、Flex、Groovy、JavaScript、Python、PL/SQL、COBOL等。(不過有些是商業軟件插件)
    * 能夠在Android開發中使用
    * 提供重複代碼、編碼標準、單元測試、代碼覆蓋率、代碼複雜度、潛在Bug、註釋和軟件設計報告
    * 提供了指標歷史記錄、計劃圖(「時間機器」)和微分查看
    * 提供了徹底自動化的分析:與Maven、Ant、Gradle和持續集成工具(Atlassian Bamboo、Jenkins、Hudson等)* 與Eclipse開發環境集成
    * 與JIRA、Mantis、LDAP、Fortify等外部工具集
    * 支持擴展插件
    * 利用SQALE計算技術債務
    * 支持Tomcat。不過計劃從SonarQube 4.1起終止對Tomcat的支持。
複製代碼

安裝

  1. 依然使用docker image 部署
  2. 若是沒有安裝docker 請參考這篇博客
  3. 啓動
docker run -d --name sonarqube \
        -p 9000:9000 -p 9092:9092 \
        -e SONARQUBE_JDBC_USERNAME=sonar \
        -e SONARQUBE_JDBC_PASSWORD=sonar \
        -e SONARQUBE_JDBC_URL=jdbc:mysql://192.168.199.131:3306/tryspread?useUnicode=true&characterEncoding=utf-8 \
        sonarqube複製代碼
  1. 訪問。http://ip:9000
![](https://user-gold-cdn.xitu.io/2019/10/9/16daf6f3f6dd66c9?w=2902&h=1686&f=png&s=112411)複製代碼

項目中使用

使用方式1

  1. maven setting.xml 設置
2.  pom添加插件複製代碼
<plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.3.0.603</version>
        </plugin>複製代碼
  1. 使用。執行 mvn sonar:sonar 便可

使用方式2

  1. pom添加插件
<plugin>
                   <groupId>org.sonarsource.scanner.maven</groupId>
                   <artifactId>sonar-maven-plugin</artifactId>
                   <version>3.3.0.603</version>
         </plugin>
2. 使用默認的賬號登陸以後,能夠:
    * 生成一個代替賬號的`token`
    * 修改一個`admin`的密碼
    * 能夠在`Administration`=>`System`=>`Update Center`,安裝中文插件和其它要分析的語言的插件複製代碼
  1. 執行
mvn clean package sonar:sonar \
          -Dsonar.host.url=http://localhost:9000 \  //此處是sonar控制檯訪問地址
          -Dsonar.login=token  //token 是登錄到sonar後本身設置的token 複製代碼
或者複製代碼
mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package \ 
        -Dmaven.test.failure.ignore=true \
         deploy \ 
         sonar:sonar -Dsonar.host.url=http://192.168.199.131:9000 -Dsonar.login=2feb1b65a2224c9cb6744f35a7e45988e3443af6
 複製代碼

觀察


![](https://user-gold-cdn.xitu.io/2019/10/9/16daf6f477cc2e5b?w=3312&h=1606&f=png&s=74856)複製代碼

實時code review


* 插件:SonarLint複製代碼
* 官網:http://www.sonarlint.org/intellij/複製代碼
  • 關於SonarQube經常使用設置,下個博客再講。
    如感受文章對你有所幫助,能夠關注微信公衆號鼓勵一下

相關文章
相關標籤/搜索