转载:https://www.jianshu.com/p/402987500bfd

一. 简介

Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量.通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测.

二. 安装

  1. 环境要求

    • jdk 8 [必须要jdk1.8,否则安装完成之后也无法启动]
    • mysql 5.6+
    • 浏览器 ie 11+ firefox chrome safari
      • 在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. 下载,并解压sonarqube 5.6, sonar-scanner-2.6.1
    https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.6.zip
    https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.6.1.zip

  2. 将解压后的文件夹移入/etc/目录下 (其实随便移到哪个目录都可以)

  3. 修改sonarqube的配置文件

/etc/sonarqube 5.6/sonar.properties

#数据库配置
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://192.168.1.110:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.driverClassName=com.mysql.jdbc.Driver #web配置
sonar.web.context=/sonarqube
sonar.web.port=9000
  1. 安装中文语言包

  2. 启动sonarqube

/etc/sonarqube-5.6/bin/linux-x86-64/sonar.sh start
  1. sonarqube默认超级帐号
    帐号:admin
    密码:admin

三. 在maven中使用sonarqube

  1. 在maven的settings.xml中加入如下配置
<settings>
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.host.url>
http://myserver:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</settings>
  1. 在项目的pom.xml中加入sonarqube的插件配置
<plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.0.1</version>
</plugin>
</plugins>

执行 mvn sonar:sonar 命令进行代码分析

详细配置参见:
http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven

http://docs.sonarqube.org/display/SONAR/Analysis+Parameters#AnalysisParameters-ParametersspecifictoPreviewanalyses

  1. 查看分析结果
    http://ip:端口/sonarqube/

e.g.
http://192.168.1.110:9000/sonarqube/

pom.xml 例子

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.qc</groupId>
<artifactId>sonar_test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>sonar_test</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- sonar项目的语言 -->
<sonar.language>java</sonar.language>
<!-- sonar中的项目名 -->
<sonar.projectName>hello_sonar_test</sonar.projectName>
<!-- sonar中的项目唯一标识(要避免跟别人的项目唯一标识重复) -->
<sonar.projectKey>hello_sonar_test</sonar.projectKey>
<!-- sonar中的项目版本 -->
<sonar.projectVersion>1.0</sonar.projectVersion>
<!-- sonar项目语言 -->
<sonar.language>java</sonar.language>
<!-- sonar项目语言编码 -->
<sonar.sourceEncoding>UTF-8</sonar.sourceEncoding>
<!-- 排除目录,多个排除目录使用逗号分割 -->
<sonar.exclusions>
**/*Bean.java, **/*DTO.java, ank/**/*
</sonar.exclusions>
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.0.1</version>
</plugin>
</plugins>
</build>
</project>

四. sonarqube界面说明

** 仪表盘首页 **

 
仪表盘首页.png

** 问题页**

 
问题页.png

** 某个项目的custom仪表盘 **

 
Paste_Image.png

** 项目删除(以超级管理员登录) **

 
Paste_Image.png

** 用户管理 **

 
Paste_Image.png

** 邮件配置 **

 
Paste_Image.png

作者:码农梦醒
链接:https://www.jianshu.com/p/402987500bfd
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

sonarqube 5.6的更多相关文章

  1. 代码质量管理工具——SonarQube

    写在前面 SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量. SonarQube的流行,在于以下几点: 开 ...

  2. sonarqube插件开发(一) 环境搭建

    1. 下载Docker容器 # 最新版本镜像 docker pull sonarqube # 长期支持版镜像 docker pull sonarqube:lts 2. 将已有的插件导出(使用docke ...

  3. [SonarQube]小结

    新的项目用了这个,以前从来没用过,配置了一下,看看这个到底是个什么东东. 先学习一下英文单词: sonar 声纳, qube 方盒子, 连起来应该叫声纳盒, SonarQube一看就是一个监测诊断设备 ...

  4. SonarQube的使用入门

    SonarQube的安装.配置与使用 详情请参照原博客:http://www.cnblogs.com/qiaoyeye/p/5249786.html SonarQube是管理代码质量一个开放平台,可以 ...

  5. CentOS7 SonarQube安装

    CentOS7 SonarQube安装 CentOS7 SonarQube安装 Download 从sonarqube下载sonarqube-5.0.zip 从sonarqube下载sonar-run ...

  6. SonarQube的安装、配置与使用

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

  7. 集成TFS Build生成与SonarQube获取代码分析结果

    软件项目在开发过程中,往往由于任务重.时间紧等原因忽略软件代码的质量和规范检查,只注重软件功能的开发和交付.等软件交付上线以后,由于代码质量导致的问题会耗费开发和运维人员的大量时间.研发表明,项目上线 ...

  8. sonarqube  安装配置

    http:// www.sonarqube.org MySQL Unsupported mysql version: 5.5. Minimal supported version is 5.6. Th ...

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

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

  10. Android 代码检查工具SonarQube

    http://blog.csdn.net/rain_butterfly/article/details/42170601 代码检查工具能帮我们检查一些隐藏的bug,代码检查工具中sonar是比较好的一 ...

随机推荐

  1. tomcat开启SSL8443端口的方法

    参考文献: http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html http://blog.sina.com.cn/s/blog_682b5aa1 ...

  2. 使用jqprint插件完成页面打印

    使用jqprint插件完成页面打印 jqprint是一个基于jQuery编写的页面打印的一个小插件,但是不得不承认这个插件确实很厉害,最近的项目中帮了我的大忙,在Web打印的方面,前端的打印基本是靠w ...

  3. 使用SIGALRM信号为阻塞操作设置超时

    我们经常会遇到为阻塞操作设置超时的问题,比如说阻塞套接字read读取设置10秒超时,其中一个办法就是调用alarm函数,它在指定超时时期产生SIGALRM信号,使得阻塞操作中断. 但其弊端在于: 1. ...

  4. Revit API风管对齐

    start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] ].Origin, list ...

  5. Sqlite3+EF6踩的坑

    摘要 最近在用winform,有些数据需要本地存储,所以想到了使用sqlite这个文件数据库.在使用Nuget安装sqlite的时候,发现会将Ef也安装上了,所以想着使用EF进行数据的操作吧,所以这就 ...

  6. C#编程(五十一)----------链表

    原文链接: http://blog.csdn.net/shanyongxu/article/details/47024865 链表 LinkedList<T>集合类没有非泛型类的版本,它是 ...

  7. JS 日期实用方法

    var DateUtil = function(){ /** * 判断闰年 * @param date Date日期对象 * @return boolean true 或false */ this.i ...

  8. 设计模式之命令模式(Command)

    from::http://www.cnblogs.com/itTeacher/archive/2012/12/04/2801322.html 命令模式将一个请求封装为一个对象,从而使你可用不同的请求对 ...

  9. ibatis.net:第七天,QueryWithRowDelegate

    xml <statement id="FindOrdersByCustomer" parameterClass="string" resultClass= ...

  10. HTML5文件上传qq、百度、taobao等比较(改进支持三种状态提示)

    拖拽过程详解: 1:文件未拖出文件选择框的时候提示:将要上传的文件或文件夹拖拽至此区域 2:文件拖出文件选择框但未拖入上传的文件框提示:请继续拖拽文件或文件夹至此区域 3:文件拖出文件选择框且已拖入上 ...