Sonar是什么html
Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。经过插件机制,Sonar 能够集成不一样的测试工具,代码分析工具,以及持续集成工具,好比pmd-cpd、checkstyle、findbugs、Jenkins。经过不一样的插件对这些结果进行再加工处理,经过量化的方式度量代码质量的变化,从而能够方便地对不一样规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,能够很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还能够对 Java 之外的其余编程语言提供支持,对国际化以及报告文档化也有良好的支持。java
部署docker
下面咱们先来部署一下编程
这里咱们依然使用Docker来部署Sonar bash
运行Docker 命令 使用官方镜像 sonarqube便可编程语言
docker run -d --restart=always --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube
与Jenkins集成使用工具
实践使用中咱们须要和CI工具 进行配合使用 测试
这里咱们主要讨论与jenkins的集成使用插件
咱们使用Jenkins sonar 插件来集成rest
进入Jenkins 插件管理页面 选择安装 SonarQube Plugin 便可
安装完成后须要配置一下 sonar 服务的地址 和 用户名密码
而后进入你的Jenkins项目 目录 在构建完成后添加
Invoke Standalone SonarQube Analysis 步骤便可
固然在项目的根目录下还要添加一下Sonar的配置文件
#projectKey项目的惟一标识,不能重复。 sonar.projectKey=XXX #projectName值不能是中文 sonar.projectName=XXX sonar.projectVersion=3.0 sonar.sourceEncoding=UTF-8 sonar.modules=java-module # Java module java-module.sonar.projectName= XXX java-module.sonar.language=java # .表示projectBaseDir指定的目录 java-module.sonar.sources=src java-module.sonar.projectBaseDir=. #class 文件 java-module.sonar.binaries=./target/classes
好了再次提交代码后 进入Sonar 页面就能够看到当前的项目的状况了