Sonarコード品質検査ツール

6519 ワード

Sonar(コード品質管理プラットフォーム)は、Javaソースの品質を管理するオープンソースプラットフォームです.Sonar 1.6リリースから、Sonarは品質データレポートツールからコード品質管理プラットフォームに移行しました.
主な特徴
  • コードオーバーライド:ユニットテストに合格すると、どのコードが
  • に選択されているかが表示されます.
  • 改善符号化規則
  • 検索符号化規則:名前、プラグイン、アクティブレベル、カテゴリに従ってクエリー
  • プロジェクト検索:プロジェクトの名前に従って検索
  • 比較データ:同じ表のいずれかの測定傾向
  • を比較する
    1.settings.xmlファイルに追加
    
        sonar
        
            true
        
        
            http://192.168.100.45:9000/sonar
            admin
            admin
        
    

    2プロジェクトのルートディレクトリsonar-project.properties新規作成(ダウンロードしたファイルから直接コピー)
    #Configure here general information about the environment, such as SonarQube DB details for example
    #No information about specific project should appear here
    
    #----- Default SonarQube server
    sonar.host.url=http://192.168.100.45:9000/sonar
    
    #----- Default source code encoding
    #sonar.sourceEncoding=UTF-8
    
    #----- Global database settings (not used for SonarQube 5.2+)
    #sonar.jdbc.username=sonar
    #sonar.jdbc.password=sonar
    
    #----- PostgreSQL
    #sonar.jdbc.url=jdbc:postgresql://localhost/sonar
    
    #----- MySQL
    #sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
    
    #----- Oracle
    #sonar.jdbc.url=jdbc:oracle:thin:@localhost/XE
    
    #----- Microsoft SQLServer
    #sonar.jdbc.url=jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
    

    sonar.host.url=http://192.168.100.45:9000/sonarこのurlは必ず自分のものに変えなければならない.
    4 sonar-scanner-2.8/bin/sonar-scannerを実行すると、プロジェクトをsonarにスキャンできます.
    [INFO] User cache: C:\Users\PGmmr\.sonar\cache
    [INFO] Load global repositories
    [INFO] Load global repositories (done) | time=237ms
    [INFO] User cache: C:\Users\PGmmr\.sonar\cache
    [INFO] Load plugins index
    [INFO] Load plugins index (done) | time=53ms
    [INFO] SonarQube version: 6.2
    [INFO] Default locale: "zh_CN", source code encoding: "UTF-8"
    [INFO] Process project properties
    [INFO] Load project repositories
    [INFO] Load project repositories (done) | time=20ms
    [INFO] Load quality profiles
    [INFO] Load quality profiles (done) | time=141ms
    [INFO] Load active rules
    [INFO] Load active rules (done) | time=673ms
    [WARNING] SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.
    [INFO] Publish mode
    [INFO] -------------  Scan nexus3
    [INFO] Load server rules
    [INFO] Load server rules (done) | time=410ms
    [INFO] Initializer GenericCoverageSensor
    [INFO] Initializer GenericCoverageSensor (done) | time=0ms
    [INFO] Base dir: C:\Users\PGmmr\IdeaProjects
    exus3 [INFO] Working dir: C:\Users\PGmmr\IdeaProjects
    exus3\target\sonar [INFO] Source paths: pom.xml, src/main/java [INFO] Test paths: src/test/java [INFO] Source encoding: UTF-8, default locale: zh_CN [INFO] Index files [INFO] 2 files indexed [INFO] Quality profile for java: Sonar way [INFO] Sensor Lines Sensor [INFO] Sensor Lines Sensor (done) | time=7ms [INFO] Sensor JavaSquidSensor [INFO] Configured Java source version (sonar.java.source): 8 [INFO] JavaClasspath initialization [INFO] JavaClasspath initialization (done) | time=13ms [INFO] JavaTestClasspath initialization [INFO] JavaTestClasspath initialization (done) | time=2ms [INFO] Java Main Files AST scan [INFO] 1 source files to be analyzed [WARNING] Metric 'lines' is an internal metric computed by SonarQube. Provided value is ignored. [INFO] Java Main Files AST scan (done) | time=349ms [INFO] 1/1 source files have been analyzed [INFO] Java Test Files AST scan [INFO] 1 source files to be analyzed [INFO] Java Test Files AST scan (done) | time=35ms [INFO] 1/1 source files have been analyzed [INFO] Sensor JavaSquidSensor (done) | time=848ms [INFO] Sensor SCM Sensor [INFO] No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it. [INFO] Sensor SCM Sensor (done) | time=1ms [INFO] Sensor Coverage Report Import [INFO] Sensor Coverage Report Import (done) | time=0ms [INFO] Sensor Coverage Report Import [INFO] Sensor Coverage Report Import (done) | time=0ms [INFO] Sensor Unit Test Results Import [INFO] Sensor Unit Test Results Import (done) | time=0ms [INFO] Sensor SurefireSensor [INFO] parsing C:\Users\PGmmr\IdeaProjects
    exus3\target\surefire-reports [INFO] Sensor SurefireSensor (done) | time=80ms [INFO] Sensor JaCoCoSensor [INFO] JaCoCoSensor: JaCoCo report not found : C:\Users\PGmmr\IdeaProjects
    exus3\target\jacoco.exec [INFO] Sensor JaCoCoSensor (done) | time=0ms [INFO] Sensor JaCoCoItSensor [INFO] JaCoCoItSensor: JaCoCo IT report not found: C:\Users\PGmmr\IdeaProjects
    exus3\target\jacoco-it.exec [INFO] Sensor JaCoCoItSensor (done) | time=1ms [INFO] Sensor JaCoCoOverallSensor [INFO] Sensor JaCoCoOverallSensor (done) | time=0ms [INFO] Sensor XmlFileSensor [INFO] Sensor XmlFileSensor (done) | time=0ms [INFO] Sensor Zero Coverage Sensor [INFO] Sensor Zero Coverage Sensor (done) | time=8ms [INFO] Sensor Code Colorizer Sensor [INFO] Sensor Code Colorizer Sensor (done) | time=0ms [INFO] Sensor CPD Block Indexer [INFO] JavaCpdBlockIndexer is used for java [INFO] Sensor CPD Block Indexer (done) | time=17ms [INFO] Calculating CPD for 0 files [INFO] CPD calculation finished [INFO] Analysis report generated in 101ms, dir size=30 KB [INFO] Analysis reports compressed in 25ms, zip size=9 KB [INFO] Analysis report uploaded in 843ms [INFO] ANALYSIS SUCCESSFUL, you can browse http://192.168.100.45:9000/sonar/dashboard/index/org.shoper.nexus3:nexus3 [INFO] Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report [INFO] More about the report processing at http://192.168.100.45:9000/sonar/api/ce/task?id=AVwPOsnxCT6w49OWTi1K [INFO] Task total time: 4.597 s [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 04:27 min [INFO] Finished at: 2017-05-16T11:08:51+08:00 [INFO] Final Memory: 46M/357M [INFO] ------------------------------------------------------------------------ Process finished with exit code 0

    以上のメッセージが表示されます.スキャンに成功しました.sonarを作るのは簡単で、興味のある友达は検索することができます.
    IDEAカードを添付いたします
    Preferences->Plusgins->SonarLintの検索はIDEAでの使用が便利で、上記の方法は複数のプロジェクト管理に適しています.