Jenkins+SonarQubeda搭建代码质量管理平台

发表于:2018-7-24 09:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:MISS_Love    来源:51Testing软件测试网原创

  SonarQube简介
  SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。
  通过客户端插件分析源代码,sonar客户端可以采用IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式,并通过各种不同的分析机制对项目源代码进行分析和扫描,并把分析扫描后的结果上传到sonar的数据库,通过sonar web界面对分析结果进行管理。
  SonarQube可以从七个维度检测代码质量:
  (1)复杂度分布(complexity):代码复杂度过高将难以理解
  (2) 重复代码(duplications):程序中包含大量复制、粘贴的代码而导致代码臃肿,sonar可以展示源码中重复严重的地方
  (3) 单元测试统计(unit tests):统计并展示单元测试覆盖率,开发或测试可以清楚测试代码的覆盖情况
  (4) 代码规则检查(coding rules):通过Findbugs,PMD,CheckStyle等检查代码是否符合规范
  (5) 注释率(comments):若代码注释过少,特别是人员变动后,其他人接手比较难接手;若过多,又不利于阅读
  (6) 潜在的Bug(potential bugs):通过Findbugs,PMD,CheckStyle等检测潜在的bug
  (7) 结构与设计(architecture & design):找出循环,展示包与包、类与类之间的依赖、检查程序之间耦合度
  SonarQube的架构
  1.Database
  2.SonarQube Server
  3.SonarQube Scanner
  4.Project
  安装SonarQube
  1.环境准备
  依赖Java环境
  数据库(支持SQL Server、MysqlOracle、PostgreSQL)
  MySQL下载:https://dev.mysql.com/downloads/mysql/  (安装sonarqube6.3需要Mysql5.6以上)小编使用的是MySQL5.7.22版本
  2.数据库配置
  创建名称为:sonar的数据库(数据库名称可自定义,注意和/conf/sonar.properties配置中一致)
  3.部署SonarQube Server
  SonarQube下载地址:https://www.sonarqube.org/downloads/
  将下载的soar安装包解压,我这里解压在D盘目录下的sonar目录中
  sonarqube服务中配置修改:/conf/sonar.properties
  sonar.web.host=0.0.0.0 sonar.web.port=9000 sonar.jdbc.username=username sonar.jdbc.password=password sonar.jdbc.url=jdbc:mysql://db_host:db_port/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
  #sonar.web.context=/your_prefix  //非必须,若需要在访问sonarqube服务时加上统一的前缀则配置此项
  配置说明:
  url是数据库连接地址,username是数据库用户名,jdbc.password是数据库密码
   
  启动服务
  进入目录
  D:\sonar\sonarqube-7.1\bin\windows-x86-64,点击SonarStart.bat,页面输入http://localhost:9000/,出现如下页面,说明配置成功,首次打开会比较慢,因为要初始化数据库信息,默认的登录用户名、密码都为:admin
   
  4.部署SonarQube Scanner
  SonarQube Scanner下载地址:https://docs.sonarqube.org/display/SCAN/Analyzing+Source+Code
  将下载的SonarQube Scanner包解压
  将解压后的bin目录路径加入到环境变量中:
    
  5.使用SonarQube Scanner扫描代码
  ?打开要进行代码分析的项目根目录,新建sonar-project.properties文件
  #sonar-project.properties内容如下 sonar.projectKey=project_key sonar.projectName=project_name sonar.projectVersion=1.0 sonar.sources=./
  #需要扫描哪种语言的代码,如python:py,java:java sonar.language=py  sonar.sourceEncoding=UTF-8 #sonar.host.url=http://your_host:your_port/[your_prefix]
  使用scanner,只需三步,即可完成
  6.打开CMD命令行
  7.cd进入项目目录
  8.输入sonar-scanner命令
  9.出现下面信息说明扫描成功
   
  查看报告
   
  window下关闭java进程命令:
  taskkill /im java.exe /f
  

 查看更多精彩内容,请点击下载:
版权声明:本文出自《51测试天地》第五十期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号