Spring集成sonar进行静态代码检查

前言

使用sonar进行静态代码检查,生成相关可视化测试报告,具体效果如下图:

img

环境

  • docker ver.18.06.0-ce
  • Mysql ver.5.7.23
  • Sonarqube

涉及到的知识点

  1. 使用docker-compose创建两个container

    • sonar-mysql

      用于sonar数据库操作,指定相关端口,镜像文件,环境变量,以及相关操作。

      sonar-mysql:
        image: mysql:5.7.23
        volumes:
          - ./mysql/create_sonar_database.sql:/docker-entrypoint-initdb.d/init.sql
        ports:
          - "3308:3306"
        environment:
          - MYSQL_ROOT_PASSWORD=password
      
    • tws-sonar

      用于做sonar校验服务器,指定相关端口,镜像文件,和环境变量。

      tws-sonar:
        image: sonarqube
        ports:
          - "9000:9000"
          - "9092:9092"
        environment:
          - SONARQUBE_JDBC_USERNAME=root
          - SONARQUBE_JDBC_PASSWORD=password
          - SONARQUBE_JDBC_URL=jdbc:mysql://sonar-mysql:3306/sonar?useUnicode=true&characterEncoding=utf8
      
  2. Spring引入sonar插件

    classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2"
    
    apply plugin: "org.sonarqube"
    
    apply plugin: "jacoco"
    

    jacoco为测试代码覆盖率时需要的插件。

  3. 生成报告文档并发送到sonar

    sh './gradlew --info sonarqube'
    
  4. 访问localhost:9000获取相关报告

    img

后记

完整项目repo地址:https://github.com/RoyFoo1995/sonar_demo

你可能感兴趣的:(Spring集成sonar进行静态代码检查)