Jenkins+SonarQube进行代码检查

MuYusen 于 2020-01-07 发布 本文总阅读量

本文以Ubuntu操作系统为例介绍Sonar的安装配置,以及如何与Jenkins进行集成,通过pmd-cpd、checkstyle、findbugs等工具对代码进行持续审查。

SonarQube 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。 与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

Sonarqube分为两个部分:服务器端和客户端。其中服务器端为一个Web系统,用来展示扫描的结果;客户端是一个扫描工具,用来扫描源码,并上传到服务器端。

SonarQube Server 安装配置

从https://www.sonarqube.org/downloads/ 下载最新的SonarQube工具,解压到相应位置,美其名曰${sonarqube}

下载mysql数据库链接文件mysql-connector-java-5.1.41.jar,将其复制到${sonarqube}/extensions/jdbc-driver/mysql文件夹下。

从 https://redirect.sonarsource.com/doc/plugin-library.html 或 http://www.sonarsource.com/plugins 下载需要的插件,然后放到 ${sonarqube}/extensions/plugins 目录下面,重启server就可以了。

这是在浏览器中打开:http://localhost:9000/ ,就打开web页,内置用户为admin,默认密码admin。第一次加载会花费一些时间,因为会往sonar数据库中建表并导入一下数据。

SonarQube Scanner 安装配置

下载扫描分析工具:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778-linux.zip ,并解压到相应位置,美其名曰 ${SonarqubeScanner}

Jenkins的配置

参考文档