SonarQube是 一个开源的代码质量分析平台,便于管理代码的质量,可检查出项目代码的漏洞和潜在的逻辑问题。同时,它提供了丰富的插件,支持多种语言的检测, 如 Java、Python、Groovy、C、C++等几十种编程语言的检测。它主要的核心价值体如今以下几个方面:java
SonarQube 平台是由4个部分组成:编程
Jenkins 是一个支持自动化框架的服务器,咱们这里不作详细介绍。Jenkins 提供了相关的插件,使得 SonarQube 能够很容易地集成 。服务器
登录 jenkins,点击"系统管理",如图。 微信
Jenkins 管理插件框架
Jenkins 安装 SonarQube 插件编程语言
进入 Jenkins 系统管理 – 系统设置,配置 SonarQube Server 信息工具
进入 Jenkins 系统管理 - Global Tool Configuration,配置 SonarQube Scanner插件
新建 Jenkis 项目设计
在 Jenkins 项目构建过程当中加入 SonarScanner 进行代码分析3d
首先须要在新建的 Jenkins 项目的构建环境标签页中勾选"Prepare SonarQube Scanner evironment"
增长 Execute SonarQube Scanner 构建步骤
配置 SonarQube Scanner 构建步骤,在 Task to run 输入框中输入 scan,即分析代码;在 JDK 选择框中选择 SonarQube Scanner 使用的 JDK(注意这里必须是 JDK 不能是 JRE);Path to project properties 是可选择的输入框,这里能够指定一个 sonar-project.properties 文件,若是不指定的话会使用项目默认的 properties 文件;Analysis properties 输入框,这里须要输入一些配置参数用来传递给 SonarQube,这里的参数优先级高于 sonar-project.properties 文件里面的参数,因此能够在这里来配置全部的参数以替代 sonar-project.properties 文件,下面列出了一些参数,sonar.language 指定了要分析的开发语言(特定的开发语言对应了特定的规则),sonar.sources 定义了须要分析的源代码位置(示例中的$WORKSPACE 所指示的是当前 Jenkins 项目的目录),sonar.java.binaries 定义了须要分析代码的编译后 class 文件位置;Additional arguments 输入框中能够输入一些附加的参数,示例中的-X 意思是进入 SonarQube Scanner 的 Debug 模式,这样会输出更多的日志信息;JVM Options 能够输入在执行 SonarQube Scanner 是须要的 JVM 参数
sonar.projectKey=testSonar sonar.projectName=testSonar sonar.projectVersion=1.0 sonar.language=java sonar.java.binaries=$WORKSPACE/testSonar/target/test-classes/ sonar.sources=$WORKSPACE/testSonar/src
配置 Execute SonarQube Scanner 构建步骤
Jenkins 项目构建结果
分析结果报告
具体问题展现
如感受文章对你有所帮助,能够关注微信公众号鼓励一下