2019独角兽企业重金招聘Python工程师标准>>>

在之前的开发中,代码的工作量化和质量化都是一个问题,随着近几年互联网行业的快速发展,代码已经可以来工作量化和质量化,今天我们来说说代码的质量化。代码的质量不是一个小问题,代码的质量问题可能会导致整个软件项目的失败,甚至更严重的问题,因此在日常的代码开发过程中加强代码审计工作(PM)是必要的,同时开发人员自己也应该注重代码质量。目前行业内对代码质量化分析工具有阿里巴巴的p3c、Sonar质量分析工具等,本文我们主要来研究下Sonar这个相比功能比较强大的质量分析工具。

一、SonarQube简介

SonarQube 是一个代码质量管理的开放平台。通过插件机制,SonarQube 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如JenKins、Hudson等)不同,SonarQube 并不是简单地把不同的代码检查工具结果(例如 FindBugs、PMD等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。 
        在对其他工具的支持方面,SonarQube 不仅提供了对IDE的支持,可以在Eclipse和IntellijIdea 这些工具里联机查看结果;同时 SonarQube 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 SonarQube 。 此外,SonarQube 的插件还可以对Java以外的JavaScript、Xml、C#等其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

二、准备工作

1.代码分析管理平台SonarQube安装包(本文7.1)

sonarqube-7.1.zip

下载地址:https://www.sonarqube.org/downloads/

2.代码分析扫描工具Scanner安装包(本文2.5)

sonar-scanner-2.5.zip

下载地址:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/

3.JDK(本文1.8)

4.mysql数据库(本文5.5.56)

三、部署过程

1.解压代码分析管理平台SonarQube安装包sonarqube-7.1.zip

2.解压代码分析扫描工具Scanner安装包sonar-scanner-2.5.zip

3.配置环境变量

终端输入vi /etc/profile编辑环境变量

终端输入source /etc/profile使环境变量生效

4.编写启动脚本

5.启动SonarQube

在终端执行我们刚编写的启动脚本

此刻,SonarQube已经启动成功,我们访问http://127.0.0.1:9000

然后我们登陆SonarQube代码质量分析系统,用户名/密码   默认admin/admin

备注,里面的两个项目是我之前分析过的

6.配置SonarScanner项目扫描工具

我们首先编写一个sonar-project.properties的配置文件

然后将改配置文件放到被分析检查项目的目录下

注意:如果项目处于版本控制中,会连接版本控制工具去检查,如果连接不通会报错误,这里我们直接删除和svn的关联,然后进行代码检查

7.运行SonarScanner代码扫描工具

进入我们要扫描的项目的更目录下面,运行终端执行sonar-scanner

等待项目被扫描分析完成

扫描分析完成我们登陆SonarQube代码分析管理平台查看被分析的项目:

我们点进去看下改项目代码分析的详情

四、总结

本文主要说了下代码质量分析工具SonarQube,该工具可以分析出项目的代码质量,目前我们已经成功的部署了SonarQube代码分析管理平台,并且运行SonarScanner代码扫描工具扫描分析了项目的代码质量,下篇文章我们将介绍使用SonarQube代码分析管理平台怎么去监控项目代码质量、分析项目质量、解决项目中的质量问题等,本文中还有一个问题,就是SonarQube默认使用的内嵌数据库,对于测试来说是够用了,但是正式使用会有一些限制,下文中我们将介绍SonarQube如何使用外置的mysql数据库。

转载于:https://my.oschina.net/zss1993/blog/1816554

【代码审计】使用SonarQube进行代码质量分析管理相关推荐

  1. 基于Win10极简SonarQube C#代码质量分析

    博客有些好些时间未更新了,这几个月的时间里,离开了实习的公司.大学毕了业.来了新公司.转了户口,有点忙,最近总算稍微闲下来了,打算重新拾起博客,坚持写下去. 言归正转,什么是SonarQube ? S ...

  2. sonarqube怎么分析php项目,SonarQube代码质量分析平台介绍

    1.使用需求 随着互联网产品迭代越来越快,客户对产品的要求也越来越高,因此如何高质量的交付代码,及时地对代码质量进行分析并给出合理的解决方案就成为了当下必须要解决的一个问题.SonarQube 就是一 ...

  3. sonar是一款静态代码质量分析工具

    sonar介绍 sonar是一款静态代码质量分析工具,支持Java.Python.PHP.JavaScript.CSS等25种以上的语言: 而且能够集成在IDE.Jenkins.Git等服务中,方便随 ...

  4. 程序猿福音——sonarqube,代码质量检测一条龙服务,本文带你一探究竟

    目的 借助sonar平台分析和管理项目代码质量 sonar是一个用于代码质量管理的开放平台,sonar提供潜在bug.漏洞.代码重复率等指标,进而提升项目代码质量. sonar-scanner 命令 ...

  5. DataCleaner 3.1.1 发布,数据质量分析管理

    DataCleaner 3.1.1 扩展了日期和时间相关的分析:增加周.月.年的分布分析:数值分析和日期时间分析增加了描述统计的选项:新增用于生成 UUID 和时间戳的转换器等等. DataClean ...

  6. 推荐一款免费开源的代码质量分析工具

    文章目录 一.简介 二.环境安装 三.使用说明 四.其他报错 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position ...

  7. gitlab+jenkins+sonar做代码质量分析

  8. 个推如何管理亿级代码的质量?持续集成SonarQube 代码质量管理系统

    2019独角兽企业重金招聘Python工程师标准>>> 平台架构 如下图所示,整个代码管理平台由,Analysers, Server , Database 组成. 当然,根据需求不同 ...

  9. DevOps之持续集成SonarQube代码质量扫描

          SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查工具结果直接显示在 Web ...

最新文章

  1. 通过注册表修改默认浏览器设置
  2. oracle 优化逻辑读过高,详述逻辑读与arraysize的关系
  3. 解决Loadrunner报not writing pre_cci.ci问题
  4. 【字符串操作之】从原字符串中切出一段,返回一个新的字符串→→slice方法...
  5. 数据库文档生成工具V1.0
  6. 再论EM算法的收敛性和K-Means的收敛性
  7. 3. OD-爆破有钥匙的exe(有验证文件,如KeyFile.dat)
  8. 岁月划过生命线(从0到阿里)
  9. 应用SELinux中的目标策略限制进程运行
  10. OpenInfra Days China 2020 官网正式上线,含免费注册通道!
  11. 案例-旋转木马(CSS3)
  12. 【漏洞复现】PHPmyadmin 4.8.1后台Getshell新姿势
  13. android进阶(一)Activity加载模式
  14. oppo小布机器人_OPPO小布助手建立GUI+VUI协作机制,创新快应用融合能力
  15. java程序设计 c语言_C语言和Java编程有什么区别?
  16. java监控cpu绘图,java gateway监控cpu使用率
  17. Unity Loading assembly failed“xxxx“reason: File does not contain a valid CIL image报错
  18. 如何用SpreadJS添加背景图片和水印?
  19. 结束php语句的正确方法是,结束 PHP 语句的正确方法是?
  20. linux diff的返回值处理

热门文章

  1. dede php 常用,dede cms常用标签汇总 收藏版
  2. 伯努利分布方差_统计知识(4)——分布
  3. pcb外观维修_电路板常用维修技巧,送给从事维修工作的兄弟姐妹们
  4. vbn中使用的3种流程控制结构是_细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定...
  5. Observer模式在J2EE中的实现
  6. 使用Palette类提取图片的颜色信息
  7. linux 打造man中文帮助手册图解(man-pages-zh帮助页)
  8. stm32 hal uart_STM32 非阻塞HAL_UART_Receive_IT解析与实际应用
  9. 平时用到那些linux命令,工作中经常用到的linux命令,你知道多少?
  10. python structure_GitHub - CYZYZG/Data_Structure_with_Python: 这是我在学习《基于Python的数据结构》的时候的笔记与代码...