做者 陈彩华
文章转载交流请联系 caison@aliyun.com
复制代码
最近公司引入了代码自动检查平台,技术选型是选择SonarQube,总结以下:前端
SonarQube(sonar)是一个开源平台,用于管理源代码的质量。 SonarQube不仅是一个质量数据报告工具,更是代码质量管理平台。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 SonarQube能够从如下七个维度检测代码质量,而做为开发人员至少须要处理前5种代码质量问题。java
经过如下介绍如何基于Jenkins和SonarQube完成代码质量持续检测。git
清单以下,安装方法自行百度谷歌数据库
为了基于Maven方式使用Jenkins,须要在Maven安装目录下的conf/setting.xml文件配置关于sonar的配置编程
建立一个新任务:bash
步骤1 建立 选择构建一个自由风格的软件项目 架构
步骤2 配置源码管理 这里是使用了Git来作源码管理,gitlab做为源码库 项目分支填写master maven
步骤3 配置构建触发器 这里配置H 18 * * *,表明每日18点前定时构建 编程语言
步骤4 配置构建 第一行使用jacoco插件,进行代码覆盖率测试 第二行使用sonar插件,进行代码检测并提交检测结果工具
clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true -P dev
sonar:sonar
复制代码
SonarQube基本架构图
SonarQube与项目持续集成架构图
Jenkins的每日构建默认是使用master,在开发过程当中,有时须要在开发者的开发中的分支进行代码检测 方法:
步骤1 配置Maven 按照 3.1 Maven的配置说明,配置本地的Maven环境
步骤2 触发检测 在项目顶层目录,执行命令:mvn sonar:sonar便可
代码总体质量的统计,能够帮助用户理解项目是否已经能够投入生产
默认配置(能够根据项目实际状况从新配置):