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

代码规范审查 -Sonar环境搭建的更多相关文章

  1. 代码规范审查 - Sonar集成Visual Studio

    开发人员可以使用Sonar的集成插件在开发阶段进行实时代码质量审核,在代码编写阶段分析出当前代码的质量及规范漏洞,并给出合理的修改建议.编写高质量.高维护性的代码变得更简单! VS集成Sonar之前 ...

  2. 代码规范审查 – Sonar分析项目

    Sonar搭建成功之后,就可以通过简单的CMD指令进行项目分析,此篇主要介绍使用Sonar来分析.net项目. 扫描步骤: a.    打开CMD,切换到指定的项目根目录,和.sln同级目录即可(此处 ...

  3. 利用Sonar定制自定义JS扫描规则(一)——sonar环境搭建

    接触sonar已经有段时间了,最早是在一个项目组里面听到这个框架,后来在公司持续集成活动的推动下,也逐渐学习了sonar的具体功能.sonar集成了findbugs,pmd,checkstyle各种静 ...

  4. Ubuntu上基于开源代码PhoneMe的J2ME环境搭建及使用

    测试环境:Ubuntu 14.04.5 LTS J2ME背景知识及PhoneME介绍 J2ME相关介绍 在正式开始介绍J2ME之前,这里我列出一些常见名词,方便与下文参照:J2ME(Java2 Pla ...

  5. 【Linux】 Linux编程规范&Linux 编程环境搭建

    一.通过Samba映射网络驱动器 菜单栏-计算机-映射网络驱动器 English 菜单栏-Home -Easy access-Map as drive 编辑代码使用 Windows 编译 运行程序在 ...

  6. .NET Core windows开发环境 + Git代码控管 + Docker 部署环境搭建

    开发环境准备 下载vs code,.NET Core sdk: https://www.microsoft.com/net/core#windowscmd 目前最新版为code 1.8.1,.NET ...

  7. SSH框架总结(框架分析+环境搭建+实例源码下载) 《转》

    这篇文章比较易懂,易理解: 首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层W ...

  8. SSH框架总结(框架分析+环境搭建+实例源码下载)

    来源于: http://blog.csdn.net/shan9liang/article/details/8803989 首先,SSH不是一个框架,而是多个框架(struts+spring+hiber ...

  9. [Java] SSH框架笔记_框架分析+环境搭建+实例源码下载

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

随机推荐

  1. hdu4307

    好题,详细题解在这里http://blog.csdn.net/weiguang_123/article/details/8077385 这里回顾一下: 当i和j都在一个集合里会产生新的收益,是经典题直 ...

  2. lr_start_transaction/lr_end_transaction事物组合

    lr_start_transaction/lr_end_transaction事物组合 总结一下: lr_start_transaction与lr_end_transaction 为使用最多的事物创造 ...

  3. python的多线程threading

    多线程threading 1.Thread创建线程: 上代码: #!/usr/bin/env python3 import threading import time def A(): t_name ...

  4. phpstorm配置关联php手册

    最近发现有些编辑器可以 选中函数名,通过相应的快捷键就可以调用 浏览器 打开相应 函数的 在线帮助文档. 一番查找,我终于发现 phpStorm 也有相应的功能. 一.自带功能 在编辑器中选中函数名, ...

  5. 《Android虚拟机》--内存分配策略

    No1: Java在内存分配时会涉及到以下区域: 寄存器:我们在程序中无法控制 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 堆:存放用new产生的数据 静态域:存放在对 ...

  6. GenXus进行APP开发-全局颜色设计

    我们每次开发APP时,会有不同的全局颜色设计(例如标准控件.状态栏.控件激活时等的默认颜色),那么我们在GeneXus中如何设置这些颜色呢?接下来就给大家介绍一下. 当我们通过GeneXus开发APP ...

  7. scrapy抓取拉勾网职位信息(七)——数据存储(MongoDB,Mysql,本地CSV)

    上一篇完成了随机UA和随机代理的设置,让爬虫能更稳定的运行,本篇将爬取好的数据进行存储,包括本地文件,关系型数据库(以Mysql为例),非关系型数据库(以MongoDB为例). 实际上我们在编写爬虫r ...

  8. redis实现分布式锁工具类 灰常好用

    public interface RedisDistributionLock { /** * 加锁成功,返回加锁时间 * @param lockKey * @param threadName * @r ...

  9. 入侵91网直到拿下服务器#并泄露150w+用户信息

    在补天看到一厂商 首先挖到一处注入 http://www.91taoke.com/index.php?m=Dayi&a=answer&aid=26313 此处注入是dba权限 打算使用 ...

  10. c# -- 介绍File.AppendAllText 方法

    下面介绍两个函数: File.AppendAllText (String, String) File.AppendAllText (String, String, String) File.Appen ...