代码质量管理

Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
        在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

Sonar部署

Sonar的相关下载和文档可以在下面的链接中找到:http://www.sonarqube.org/downloads/,需要注意最新版的Sonar需要至少JDK 1.8及以上版本。

  • yum install -y java-1.8.0
  • cd /usr/local/src
  • wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-7.5.zip
  • unzip sonarqube-5.6.zip
  • mv sonarqube-7.5 /usr/local/
  • ln -s /usr/local/sonarqube-7.5/ /usr/local/sonarqube

准备Sonar数据库

  • mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
  • mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar@pw';
  • mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar@pw';
  • mysql> FLUSH PRIVILEGES;

配置Sonar

  • cd /usr/local/sonarqube/conf/
  • sonar.properties wrapper.conf
  • 编写配置文件,修改数据库配置
  • sonar.properties
  • sonar.jdbc.username=sonar
  • sonar.jdbc.password=sonae@pw
  • sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

启动Sonar

你可以在Sonar的配置文件来配置Sonar Web监听的IP地址和端口,默认是9000端口

  • sonar.properties
  • sonar.web.host=0.0.0.0
  • sonar.web.port=9000
  • /usr/local/sonarqube/bin/linux-x86-64/sonar.sh start

访问Sonar
    http://IP:9000

插件管理

  • /usr/local/sonarqube/extensions/plugins

代码分析插件

    • https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
    • Https://github.com/SonarSource 各种语言测试范例,sonar-example

Sonar-scanner插件目录结构

  • [root@localhost local]# cat sonar-scanner/conf/sonar-scanner.properties
  • #Configure here general information about the environment, such as SonarQube server connection details for example
  • #No information about specific project should appear here
  • #----- Default SonarQube server
  • sonar.host.url=http://sonarqube地址:9000
  • #----- Default source code encoding
  • sonar.sourceEncoding=UTF-8
  • sonar.jdbc.username=sonar(数据库用户)
  • sonar.jdbc.password=sonar@pw(数据库密码)
  • sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp:characterEncoding=utf8

Sonar-example语言测试范例

  • [root@localhost local]# cat sonar-project.properties
  • sonar.projectKey=demo
  • sonar.projectName=demo
  • sonar.projectVersion=1.0
  • sonar.sources=./
  • sonar.language=java
  • sonar.sourceEncoding=UTF-8

Sonar-scanner检测命令

  • [root@localhost local]# /usr/local/sonar-scanner/bin/sonar-scanner

访问Sonar
    http://IP:9000 就会看到示例,检测什么样的语言,提前按照好插件,Chinese Pack是中文插件

SonarQube的更多相关文章

  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. Python range

    i = 1 while i <= 100: print(i) i += 1 # range(参数) [0,参数) 取不到 for i in range(10): # range() 可以被迭代 ...

  2. 一起来点React Native——常用组件之Image

    一.前言 在开发中还有一个非常重要的组件Image,通过这个组件可以展示各种各样的图片,而且在React Native中该组件可以通过多种方式加载图片资源. 二.Image组件的基本用法 2.1 从当 ...

  3. UnicodeDammit

    UnicodeDammit 是BS内置库, 主要用来猜测文档编码. 编码自动检测 功能可以在Beautiful Soup以外使用,检测某段未知编码时,可以使用这个方法: from bs4 import ...

  4. Plotly绘图工具(多用于统计)

    作者:桂. 时间:2017-04-23  23:52:14 链接:http://www.cnblogs.com/xingshansi/p/6754769.html 前言 无意中考到一个小工具,网址为: ...

  5. 通过Servlet设置文件下载

    文件下载 1.获取要下载的文件的绝对路径 但是使用getServletContext().getRealPath()方法在不同的服务器上所获得的实现是不一样的 因为项目被打包入.war文件以后就失去了 ...

  6. HDU 1232:畅通工程(并查集模板)

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  7. .NET 之 垃圾回收机制GC

    一.GC的必要性 1.应用程序对资源操作,通常简单分为以下几个步骤:为对应的资源分配内存 → 初始化内存 → 使用资源 → 清理资源 → 释放内存. 2.应用程序对资源(内存使用)管理的方式,常见的一 ...

  8. 【转】Python xlrd、xlwt、xlutils读取、修改Excel文件

    Python xlrd.xlwt.xlutils读取.修改Excel文件 一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文 ...

  9. Stones 优先队列

    Because of the wrong status of the bicycle, Sempr begin to walk east to west every morning and walk ...

  10. java BeanUtils.copyProperties

    github搜索关键词: copyPropertiesIgnore https://github.com/longyi97/GA/blob/997e9c3a467268041c186234d91c4e ...