前言

Sonarqube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。本文介绍如何快速安装、配置、使用Sonarqube及Sonarqube Scanner。

工作原理

Sonaqube-scanner:负责搜集代码相关数据 (可以理解为搜集端)

Sonarqube:负责对搜集的数据进行分析,通过不同的插件算法来对这些结果进行再加工,最终以量化的方式来衡量代码质量,最终展现给用户。

环境信息

IP 功能 软件 安装路径 操作系统
192.168.9.11 sonarqube服务端 jdk1.8.0_151,mysql5.7.21 sonarqube6.7 /usr/local/ centos7.5
192.168.9.12 sonarqube-scanner客户端 sonarqube-scanner3.2.0 d:/sonar windows7

搭建步骤:(sever端安装jdk mysql过程略)

sonarqube的安装

wget  https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.zi
unzip sonarqube-6.7.zip -d /usr/local/
useradd sonar
chown -R sonar. /usr/local/sonarqube-6.7/

sonarqube配置文件修改

vim /usr/local/sonarqube-6.7/conf/sonar.properties 
sonar.web.host=0.0.0.0
sonar.web.port=9000
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.driver=com.mysql.jdbc.Driver
sonar.jdbc.username=sonar
sonar.jdbc.password=password

建立数据库 (在数据库中建立需使用的库)

mysql -u root -p
> CREATE USER 'sonar’@'%' IDENTIFIED BY 'password';
> GRANT all privileges ON sonarqube.* TO sonar’@‘%' IDENTIFIED BY 'password';
> flush privileges;
> create database sonarqube;

启动及关闭

cd /usr/local/sonarqube-6.7/bin/linux-x86-64
./sonar.sh start
./sonar.sh stop

通过浏览器登录查看,并使用缺省密码登录。(可以在“配置”项的“应用市场”中选择安装中文插件来支持中文,)

sonarqube-scanner的安装

1.下载sonar-scanner-3.2.0.1227-windows.zip并解压,将bin文件加入环境变量path中如我的路径D:\sonar\sonar-scanner\bin将此路径加入path中

2.编辑配置文件conf/sonar-scanner.properties。根据数据库使用情况进行取消相关的注释即可,同时需要添加数据库用户名和密码信息,即配置要访问的sonar服务和mysql服务器地址

#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://192.168.9.11:9000 #----- Default source code encoding
#sonar.sourceEncoding=UTF-
sonar.jdbc.username=sonar
sonar.jdbc.password=password
sonar.jdbc.url=jdbc:mysql://192.168.9.150:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

3.编辑sonar-project.properties 放入需要扫描的project中(注意:同时要在sonarqube里添加对应的项目名称)

# must be unique in a given SonarQube instance
sonar.projectKey=saas_core
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=saas_core
sonar.projectVersion=1.0 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# This property is optional if sonar.modules is set.
sonar.sources=saas_core
sonar.binaries=bin
sonar.language=java
sonar.java.binaries=D:\sonar\saas_core
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-

4.sonar-scanner执行扫描分析

sonar-scanner -X

以上分析执行后,会将分析数据上传至sonarqube,在sonarqube中分析完成后,就可以看到分析结果

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

十分钟搭建和使用sonarqube代码质量管理平台的更多相关文章

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

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

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

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

  3. SonarQube代码质量管理平台工具

    1.Sonar轮廓介绍 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量.Sonar 不只是一个质量数据报告工具,更是代码质量管理平台.支持的语言包括:Java.PHP.C#.C ...

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

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

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

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

  6. Dubbo入门到精通学习笔记(五):持续集成管理平台之sonarqube代码质量管理平台的介绍与安装

    文章目录 SonarQube的介绍 SonarQube的安装 安装简介 详细安装过程 详细使用过程 SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质 ...

  7. 持续集成篇-- SonarQube代码质量管理平台的配置与使用

    样例视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 一.SonarQube的配置(前提,先用admin用 ...

  8. Linux中 SonarQube代码质量管理平台以及C++插件安装

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

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

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

随机推荐

  1. linux 安装pip 和python3

    前言: python3应该是python的趋势所在,当然目前争议也比较大,这篇随笔的主要目的是记录在linux6.4下搭建python3环境的过程 以及碰到的问题和解决过程. 另外,如果本机安装了py ...

  2. python 获取某个月的全部日期

    import calendar print range(calendar.monthrange(year, month)[1]+1)[1:]

  3. UVa 753 - A Plug for UNIX(最大流)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  4. 「bzoj4264 小C找朋友」

    权限题 就是一个集合\(hash\) 集合\(hash\)可以用于判断两个集合是否相等,具体做法就是给每个随机一个值,之后异或起来就是可以了 这个题就是这样,处理出每个点直接相连的点集的\(hash\ ...

  5. php签到

    <?php namespace Member\Controller; use Member\Controller\MController; class IndexController exten ...

  6. 关于接口返回BOM头处理的问题

    今天用RestClient框架做接口请求.结果请求回来的json转模型失败.提示JSON格式不正确.到BeJson网站验证一下,发现果然不对. 后来得知是由于json信息带着bom头导致的,这个该死的 ...

  7. supervisord的配置

    https://blog.csdn.net/xyang81/article/details/51555473  这位大佬写的很详细  你们可以去参考一下

  8. SQL 查询函数

    1.abs函数取值(绝对值) select ABS(-20) 结果是20 2.ceiling函数取大于等于指定表达式的最小整数 select CEILING(40.5) 结果是41 3.floor函数 ...

  9. android:windowSoftInputMode属性详解 软键盘

    android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性. 这个属性能影响两件事情: [一] ...

  10. CSU - 2059 Water Problem(Z线分割平面)

    一条‘Z’形线可以将平面分为两个区域,那么由N条Z形线所定义的区域的最大个数是多少呢?每条Z形线由两条平行的无限半直线和一条直线段组成 Input 首先输入一个数字T(T<100),代表有T次询 ...