代码规范审查 -Sonar环境搭建

Sonar概述

Sonar 是一个用于代码质量管理的开放平台,可以进行代码质量的持续跟踪审查,支持的语言包含C#、java、PHP、C等。可以通过UI一睹Sonar的强大之处。

 

Sonar安装

         Sonar是一个基于java的开源平台,环境安装包含JDK安装、数据库安装、Sonar Server安装、Sonar Runner安装。

一、JDK安装

 二、数据库安装

Sonar支持数据库类型:Sql server、MySQL、Oracle,此处以MySql为例

  • Mysql数据库下载地址:https://www.mysql.com/downloads/, 具体安装步骤省略可自行学习。
  • 配置Sonar数据库(创建Sonar数据库、用户等)

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;

 

三、Sonar server及scanner配置

  • 下载sonar(只需下载解压,无需安装)

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

  • 下载sonar scanner(只需下载解压,无需安装)

下载地址:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

  • 添加snoar和snoar scanner到环境变量

       添加SONAR_HOME、SONAR_RUNNER_HOME环境变量,并将SONAR_RUNNER_HOME加入PATH环境变量参考如下:
SONAR_HOME:C:\sonar\sonarqube-6.2
SONAR_RUNNER_HOME:C:\sonar\Sonar-scanner-2.8
PATH:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%SONAR_RUNNER_HOME%/bin;%MAVEN_HOME%\bin;

  • 编辑sonar配置文件,修改如下:

编辑sonar\sonarqube-6.2\conf\sonar.properties文件,配置数据库设置,默认已经提供各类数据库的支持,这里使用mysql,因此取消mysql模块的注释,修改内容如下:

  • 编辑SonarRunner配置文件,修改如下:

编辑Sonar-scanner-2.8\conf\conf\sonar-runner.properties文件,配置数据库设置,默认已经提供各类数据库的支持,这里使用mysql,因此取消mysql模块的注释,修改内容如下:

        

  • 启动sonarQube服务,从sonarqube-6.2\bin\windows-x86-64目录下双击启动StartSonar.bat,启动成功显示如下:

  • 访问http:\localhost:9000检测是否启动成功

  • 安装中文包

       中文包下载地址:https://docs.sonarqube.org/display/PLUG/Plugin+Library

       对应的汉化本jar下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-1.14

       

       将下载好的sonar中文汉化包插件放到sonarqube-6.2\extensions\plugins目录下,重启sonarqube服务

        注:在不将sonarqube安装成window服务之前,需要通过进程找到java jrd的进程进行stop sonarqube,再通过StartSonar.bat进行启动

  至此,Snoar环境配置完成,配置环境需要耗费一定的时间,不过一旦搭建成功,持续使用带来的便捷性和有效性会让你耳目一新!

 

 

代码规范审查之旅:

代码规范审查之旅一:代码审查工具选型

代码规范审查之旅二:Sonar环境搭建

代码规范审查之旅三:Sonar分析项目

代码规范审查之旅四:Sonar集成Visual Studio

 

from:http://www.cnblogs.com/jingridong/p/6489520.html