搭建sonar,推动代码质量管理
最近比较关注devops相关的文章,尝试搭建sonarqube服务,进行代码质量的分析和管理,先记录下本地环境的搭建和分析过程。
一、sonarqube服务搭建
官网地址:http://www.sonarqube.org/

选择了当前最新版本,sonar是拆箱即用的,当然你本地的jdk环境得预先安装好,网上看到jdk支持1.5+,但没试过最新的版本是否要提高jdk的版本,我本地环境变量指定的是
jdk1.6.
解压后,可以在bin目录下看到不同操作系统的目录,我的是win7 64bit

进入对应的目录,点击StartSonar.bat启动

启动完毕后,可通过默认端口进行访问,sonar可以指定数据库,这里采用默认数据库,需要用别的数据库的同学可以通过conf目录下配置文件修改

打开后界面如下,登录账号默认是admin/admin,需要汉化的同学点击配置=》系统=》更新中心,找到chinese Pack进行安装后重启生效

至此我们的sonar服务已经搭建完毕,接下来开始对代码进行分析。
二、如何进行分析
首先安装分析工具sonar-scanner

scanner需要jdk1.7+,我本地默认是jdk1.6,因此修改启动文件,指定jdk版本为1.7;
为了在任何目录启动scanner,将启动目录添加至环境变量Path.
找一个你的项目工程,在根目录添加sonar-project.properties

我们来看下配置文件的内容
# 工程的key和name维护成一样即可
sonar.projectKey=weike_open
sonar.projectName=weike_open
#当前工程的版本
sonar.projectVersion=1.7.1.0
#进行扫描分析的代码顶级目录
sonar.sources=src
#编译文件存放的目录
sonar.binaries=bin
# 分析的语言
sonar.language=java
# 源码编码格式
sonar.sourceEncoding=UTF-8
接着我们通过doc窗口进入工程根目录,执行sonar-runner(sonar-scanner是新的命名,命令还是runner)就可以开始代码的扫描分析了。
第一次扫描遇到了一个问题,因为低版本的svn版本信息会保存在每个文件中,sonar在分析代码时,对svn版本文件不识别导致分析中断。
解决方法如下

只要关闭对svn版本文件的扫描即可。
分析完毕后,可以在主页看到分析后的统计信息,像技术债务时间、问题代码、代码的统计信息等等

希望本文对使用sonar来进行代码质量管理的同学有所帮助,早日偿还技术债务。
搭建sonar,推动代码质量管理的更多相关文章
- Sonar入门(五):使用 Sonar 进行代码质量管理
Sonar 概述 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具. 与持续集成工具(例如 Hudson/Jenkins ...
- 使用 Sonar 进行代码质量管理
参考资料: 使用 Sonar 进行代码质量管理 SonarQube的安装.配置与使用 SonarLint(Sonar) 代码质量管理
- 手把手教你用SonarQube+Jenkins搭建--前端项目--代码质量管理平台 (Window系统)
前言 网上教程大多介绍的是Linux系统下SonarQube+Jenkins如何使用,这是因为这两款软件一般都是部署在服务器上,而大多数服务器,采用的都是Linux系统.大多数服务器用Linux的原因 ...
- 代码质量管理工具 sonar 配置
代码检查工具有很多findBugs等等 sonar配置: 1.下载sonar 5.5, 解压,运行 sonarqube-5.5\bin\windows-x86-64\StartSonar.bat , ...
- SonarQube代码质量管理平台比较好的搭建和使用资料
http://www.voidcn.com/blog/lidujun1028/article/p-3831235.html Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. ...
- Sonar——代码质量管理平台
Sonar——代码质量管理平台 一.基本认识 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. Sonar 不只是一个质量数据报告工具,更是代码质量管理平台.通过插件机制,So ...
- SonarQube(代码质量管理)环境搭建
继 Centos6.6安装Subversion版本控制工具(Subversion + Apache + jsvnadmin) 后,搭建代码质量管理环境 IP:10.0.210.112 环境:Cento ...
- 十分钟搭建和使用sonarqube代码质量管理平台
前言 Sonarqube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java.C.C++.JavaScripe等等二十几种编程语言的代码质量 ...
- SonarLint(Sonar) 代码质量管理
一.Sonar是什么? Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groov ...
随机推荐
- Guid和Sequence做主键的比较
记得A项目组是一个物流管理系统,后台采用了Oracle数据库.在系统中的核心表托运单表中,关于主键采用何种数据类型,是 sequence 还是用GUID , 大家起了争论. 从网络搜索得到的结论看,一 ...
- JMeter 服务器性能监测插件介绍
简介 压力测试过程中,能够随时对负载服务器的健康状况的把控是相当重要的,有了这些数据,我们才能准确分析出服务器负载瓶颈.当你面对的是一个集群的时候,如果能了解到负载是否被正确分发,是不是一件很棒的事情 ...
- VIM C++语法高亮配色
因工作需求,必须在终端下远程下代码,vim打开cpp/h文件,看到一连串的字母就傻了,根本无法阅读. 后来才知道VIM这高大上的文本编辑器支持很多的功能,很多的功能.首先最基本的就是语法高亮配色 1. ...
- X删除数据表的新用法
删除数据表,可以这样进行,以前傻不拉唧的用sql去手动删除. DAL dal = ... dal.Db.CreateMetaData().SetSche ...
- theano 实现图像局部对比度归一化
很多时候我们需要对图像进行局部对比度归一化,比如分块CNN的预处理阶段.theano对此提供了一些比较方便的操作. 局部归一化的一种简单形式为: 其中μ和σ分别为局部(例如3x3的小块)的均值和标准差 ...
- 使用Mybatis-Generator自动生成Dao、Model、Mapping代码
1.所需jar包 mybatis-generator-core-1.3.2.jar mybatis-generator-core-1.3.2.jar 可以去http://mvnrepository.c ...
- JQUERY 知识点的自我总结
一.名词释义 1 .js的入口函数:要等待文档树的加载完成,并且等待所有图片.文件都加载完成之后才开始执行. 2 .jquery入口函数会等待文档树的加载完成,并不会等待图片还有文件的加载 3 .j ...
- 聊一聊jquery文件上传(支持多文件上传)
谈到文件上传,现在一般都用现成的组件可以使用.PC端的可以使用uploadify.针对微网站H5也有uploadifive.但是这组件并不能满足各种场景的需求,例如:预览 切图 放大缩小,取消之类的. ...
- @html.ActionLink的几种参数格式
一 Html.ActionLink("linkText","actionName") 该重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法, ...
- Javascript 右移0位的作用
Javascript 中右移0位可以用来快速去掉小数,关于位移运算的定义: 右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位. 实际看下 ...