1. SonarQube安装(sonarqube5.1.2 + sonar-runner-dist-2.4)

1.1 前提条件

1) 已安装Java环境(version:1.7+)

2) 已安装MySQL数据库(version:5.x)

  下载SonarQube: http://www.sonarqube.org/downloads/

  下载Sonar-Runner: http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip

  中文补丁包下载:https://github.com/SonarCommunity/sonar-l10n-zh

3) MySQL数据库配置

执行数据库脚本,创建数据库及用户:

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE USER 'sonar' IDENTIFIED BY 'sonar';

GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';

GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';

FLUSH PRIVILEGES;

1.2 安装Sonar Server

1) 将下载的sonarqube-5.1.2.zip包解压至D:\sonar\sonarqube-5.1.2;

2) 修改配置文件D:\sonar\sonarqube-5.1.2\conf\sonar.properties,进行配置数据库设置

1.3 启动Sonar
Server服务

Sonar目前支持Linux/Macosx/Solaris/Windows等操作系统。以Windows 32位操作系统为例,目录切换至D:\sonar\sonarqube-5.1.2\bin\windows-x86-32目录(32对应jdk7_32bit 而非windows_32bit),运行StartSonar.bat文件启动服务。

1.4 访问Sonar
Server

访问地址:http://172.20.28.35:9000/
或者 http://localhost:9000/

其中,172.20.28.35为服务器的IP

1.5 Installing SonarQube in Eclipse(安装插件[非必须项],可以先忽略1.1-1.4步骤)

Plugin

3.4

3.5

SonarQube

3.6+

4.2+

Eclipse

3.7.x, 3.8.x, 4.2.x, 4.3.x, 4.4.x, 4.5.x
(Indigo, Juno, Kepler, Luna, Mars)

4.2.x, 4.3.x, 4.4.x, 4.5.x
(Juno, Kepler, Luna, Mars)

Supported Plugins / Languages

Java
C/C++ / only C++ is supported
Python

See Features details

Installation: If
a previous version of Eclipse SonarQube is already installed, you
can update it. Go to Help > Check for Updates.

To install this plugin in your
Eclipse IDE:

Go to Help
> Eclipse Marketplace...
 and search for "SonarQube"
Detail link: http://docs.sonarqube.org/display/SONAR/Installing+SonarQube+in+Eclipse

2.
Sonar Runner

2.1 安装Sonar Runner

解压sonar-runner-dist-2.4.zip到任意目录,为了方便,将安装包解压到D:\sonar-runner-2.4下。

2.2 配置环境变量

1) 打开“系统属性”对话框,点击“环境变量”,进入环境变量对话框。

2) 在“系统变量(S)”下点击“新建(W)...”,在编辑系统变量对话框中添加SONAR_RUNNER_HOME变量。

3) 在“系统变量(S)”下找到“Path”,点击“编辑(I)...”,在编辑系统变量对话框中“变量值(V):”输入框内容未尾添加、“;%SONAR_RUNNER_HOME%\bin”,点确定。

4) 按下图所示命令进行验证环境变量是否配置成功,如果展示结果如下图所示,则表示配置成功。

2.3 配置Sonar
Runner

编辑D:\sonar-runner-2.4\conf\sonar-runner.properties,配置指定的Sonar Server地址、数据库URL、数据库用户名及密码、Sonar Server用户名及密码

2.4 配置sonar-project.properties

在项目源码的根目录下创建sonar-project.properties配置文件

Multi-module
Project

There are two ways to define a multi-module
structure in SonarQube:

 

Using the given
file structure...

... with the
given 'properties' files

Way #1

Set all the configuration in the properties file in the
root folder

 

"MyProject/sonar-project.properties"
file content

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

# Root
project information

sonar.projectKey=org.mycompany.myproject

sonar.projectName=My
Project

sonar.projectVersion=1.0

# Some
properties that will be inherited by the modules

sonar.sources=src

# List of
the module identifiers

sonar.modules=module1,module2

# Properties
can obviously be overriden for

# each
module - just prefix them with the module ID

module1.sonar.projectName=Module
1

module2.sonar.projectName=Module
2

Way #2

Set the configuration in multiple properties files

 

"MyProject/sonar-project.properties"
file content

1

2

3

4

5

6

7

8

9

10

# Root
project information

sonar.projectKey=org.mycompany.myproject

sonar.projectName=My
Project

sonar.projectVersion=1.0

# Some
properties that will be inherited by the modules

sonar.sources=src

# List of
the module identifiers

sonar.modules=module1,module2

"MyProject/module1/sonar-project.properties"
file content

1

2

3

# Redefine
properties

# Note that
you do not need to prefix the property here

sonar.projectName=Module
1

"MyProject/module2/sonar-project.properties"
file content

1

2

3

# Redefine
properties

# Note that
you do not need to prefix the property here

sonar.projectName=Module
2

Detail link: http://docs.sonarqube.org/display/SONAR/Analyzing+with+SonarQube+Runner

2.5 代码扫描

切换到项目源码根目录,执行以下命令:sonar-runner

扫描结果中出现“EXCUTION SUCCESS”字样则表示代码扫描成功。

2.6 查看代码扫描结果

http://localhost:9000/

2.7 补充说明

在实际应用过程中,可能会遇到报JVM空间不够或内存溢出的情况,为了解决此问题,可以按下文所示方法通过修改批处理脚本D:\sonar-runner-2.4\bin\sonar-runner.bat文件即可。

根据实际情况并参照下图所示修改sonar-runner.bat文件中第77行。

3. 案例分析

默认只有java  plugin。添加javascript,jsp(web)检测,需下载相关插件

link:http://docs.sonarqube.org/display/PLUG/Web+Plugin

MyProject:

sonar-project.properties内容如下:

Main Dashboard: 主要的信息展示

Duplications: 重复率比重

Complexity:复杂度

Configure widgets:布局控件

SQALE Rating:Software Quality Assessment based on
Lifecycle Expectations Rating 基于生命周期期望的软件质量模型评价

Debt:技术债务(修复所有issues所用的时间代价)

Issues: Blocker/Critical/Major/Minor/Info 问题的级别,依次从高级到低级。

如下图:点击issues 选择Critical级别,右侧会有一个列表,点击文件进入。

在红色箭头处点击展开,会有相关信息提示。

4. 参考文档

1.如何搭建Sonar代码质量管理平台
2.如何使用Sonar Runner V2.3进行代码扫描

3.SonarQube代码质量管理平台安装与使用

4.http://deejay.iteye.com/blog/1901950

SonarQube代码质量管理工具安装与使用(sonarqube5.1.2 + sonar-runner-dist-2.4 + MySQL5.x)的更多相关文章

  1. SonarQube代码质量管理工具的升级(sonarqube6.2 + sonar-scanner-2.8 + MySQL5.6+)

    SonarQube升级注意事项 0. 前提条件 如果之前是使用sonarqube5.2 + sonar-runner-2.4 +MySQL5.5版本或者类似的组合. 安装方法请参照SonarQube代 ...

  2. SonarQube代码质量管理工具的安装(Linux)

    一.安装配置sonar 1.Sonar介绍 Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具, ...

  3. SonarQube代码质量管理平台安装与使用

    Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaS ...

  4. SonarQube代码质量管理平台安装与使用--转载

    原文:http://blog.csdn.net/hunterno4/article/details/11687269 Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量, ...

  5. SonarQube代码质量管理平台安装与配置

    1.安装说明 操作用户:root 软件下载目录:/root/opt 无root权限时,放到自定义目录即可 ================ 2.预置条件 1.需要JDK1.6+支持: 2.需要Mysq ...

  6. Linux中 SonarQube代码质量管理平台安装

    SonarQube是管理代码质量一个开源平台,可以快速的定位代码中潜在的或者明显的错误. SonarQube安装 1.环境准备 (1)sonarQube 下载地址https://www.sonarqu ...

  7. SonarQube代码质量管理平台比较好的搭建和使用资料

    http://www.voidcn.com/blog/lidujun1028/article/p-3831235.html   Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. ...

  8. SonarQube代码质量管理平台 的安装、配置与使用

    SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装.配置以及使用. 准备工作: 1.jdk(不再介绍) 2.sonarqube:ht ...

  9. SonarQube代码质量管理平台介绍与搭建

    前 言 1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1) 复杂度分布(complexity):代码复 ...

随机推荐

  1. passat / maintenance / baoyang

    s s 南京迎客隆汽车租赁有限公司 / 地址:常府街54号 / 电话:025-84546836 84507610 二手车养不起.修不起?果真如此吗?http://www.che168.com/list ...

  2. CodeForces - 348D Turtles(LGV)

    https://vjudge.net/problem/CodeForces-348D 题意 给一个m*n有障碍的图,求从左上角到右下角两条不相交路径的方案数. 分析 用LGV算法.从(1,1)-(n, ...

  3. Gitlab配置阿里邮件通知

    1. 在/etc/gitlab/gitlab.rb 中添加如下内容 $ vi /etc/gitlab/gitlab.rb gitlab_rails['smtp_enable'] = true  git ...

  4. 在ASP.Net环境中,当用户点击报表中的超链接时如何调用Java Script方法?

    问题描述:在ASP.Net环境中,当用户点击报表中的超链接时如何调用Java Script方法? 问题解答: 你可以在TextObject.Hyperlink对象中编写js代码(javascript: ...

  5. xss漏洞利用

    简述 跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息.攻击者通过在链接中插入恶意代码,就能够盗取用户信息.攻击者通常会在有漏洞的程序中插入 JavaScript.VBScript. ...

  6. Nginx 流量带宽等请求状态统计( ngx_req_status)

    Nginx 流量带宽等请求状态统计 ( ngx_req_status)  插件下载地址: wget http://nginx.org/download/nginx-1.4.2.tar.gz git c ...

  7. Java 学习札记(三)免安装版TomCat中tomcat6w.exe的运行

    1.使用环境 很多时候我们用的是官网的解压免安装版的Tomcat,相比安装Tomcat除了少了安装步骤以外还少了tomcat6w.exe运行所需要的环境变量,所以一般Java开发免安装版的已经足够使用 ...

  8. django(一)验证码

    这里讲讲在django中使用第三方插件验证码的流程. 一. 先安装pillow, 通过 python -m pip install pillow 二.安装完后,在官方网站上看操作过程.地址:pillo ...

  9. A - Longest k-Good Segment (尺取法)

    题目链接: https://cn.vjudge.net/contest/249801#problem/A 解题思路:尺取法,每次让尺子中包含k种不同的数,然后求最大. 代码: #include< ...

  10. 3D点云数据分析:pointNet++论文分析及阅读笔记

    PointNet的缺点: PointNet不捕获由度量空间点引起的局部结构,限制了它识别细粒度图案和泛化到复杂场景的能力. 利用度量空间距离,我们的网络能够通过增加上下文尺度来学习局部特征. 点集通常 ...