Jenkins集成Sonar进行代码审查

本文介绍了如何使用SonarQube进行代码质量管理,包括SonarQube的简介、安装配置、Sonar-Scanner的使用以及将其集成到Jenkins中进行自动化代码审查。通过SonarQube,可以检测代码标准、潜在缺陷、复杂度、重复和注释等问题,提升代码质量。
摘要由CSDN通过智能技术生成

  由于最近客户要求在devops持续集成平台上增加代码审计功能,经过一番对比,决定选用sonar来实现,通过网上的文档艰难的完成了安装,写篇博客记录下。

SonarQube 简介

  Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。
Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题
  1.不遵循代码标准
  sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
  2.潜在的缺陷
  sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的缺陷
  3.糟糕的复杂度分布
  文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试
  4.重复
  显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示源码中重复严重的地方
  5.注释不足或者过多
  没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
  6.缺乏单元测试
  sonar可以很方便地统计并展示单元测试覆盖率
  7.糟糕的设计
  通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。

SonarQube与Sonar-Scanner的安装与配置

下载sonarQube安装包

  SonarQube可以在官网(https://www.sonarqube.org/downloads/)下载,在Linux服务器上安装始终加载不到静态文件,所以最后决定直接在Windows服务器上安装sonar,将从官网下载的安装包解压到任意目录。

创建sonar数据库

  SonarQube自带了一个H2数据库,但是为了获得更好的性能还是选择MySQL数据库。首先在mys

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值