热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

2019独角兽企业重金招聘Python工程师标准在之前的开发中,代码的工作量化和质量化都是一个问题,随着近几年互联网行业的快速发展,

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

        在之前的开发中,代码的工作量化和质量化都是一个问题,随着近几年互联网行业的快速发展,代码已经可以来工作量化和质量化,今天我们来说说代码的质量化。代码的质量不是一个小问题,代码的质量问题可能会导致整个软件项目的失败,甚至更严重的问题,因此在日常的代码开发过程中加强代码审计工作(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

105418_RMNE_2846946.png

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

105859_ZdTr_2846946.png

3.配置环境变量

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

110133_kseE_2846946.png

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

4.编写启动脚本

 111540_BXHA_2846946.png

5.启动SonarQube

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

111619_tqEC_2846946.png

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

111809_0TCE_2846946.png

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

111941_xoON_2846946.png

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

6.配置SonarScanner项目扫描工具

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

 112352_O153_2846946.png

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

112528_cM0e_2846946.png

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

7.运行SonarScanner代码扫描工具

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

113507_Ylfm_2846946.png

等待项目被扫描分析完成

121938_9Otl_2846946.png

113554_Wsmd_2846946.png

114729_uQeu_2846946.png

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

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

122147_tFHY_2846946.png

122221_ThXo_2846946.png

122258_fMhi_2846946.png

四、总结

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


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


推荐阅读
author-avatar
蓝田学园赴嘉兴镇海吉林实践团队
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有