前言
使用sonar进行静态代码检查,生成相关可视化测试报告,具体效果如下图:
img环境
- docker ver.18.06.0-ce
- Mysql ver.5.7.23
- Sonarqube
涉及到的知识点
-
使用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
-
-
Spring引入sonar插件
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2"
apply plugin: "org.sonarqube"
apply plugin: "jacoco"
jacoco为测试代码覆盖率时需要的插件。
-
生成报告文档并发送到sonar
sh './gradlew --info sonarqube'
-
访问localhost:9000获取相关报告
img
后记
完整项目repo地址:https://github.com/RoyFoo1995/sonar_demo
网友评论