zoukankan      html  css  js  c++  java
  • 代码质量管理工具——SonarQube

    写在前面

    SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量。

    SonarQube的流行,在于以下几点:
    • 开源
    • 支持超过25种语言
    • 可以通过ecplise等IDE集成,简便使用
    • 详细的文档

     

    资源

    Sonar [官网],可能需要翻墙访问。
    Sonar [下载]及[文档]
    SonarQube Scanners (扫描器)[下载及文档]

     

    安装Sonar

    下载解压

    下载好SonarQube压缩包,解压后,打开根目录下的 ../bin 文件夹,然后根据系统环境,打开对应下级目录中的 StartSonar.bat 批处理文件,尝试启动SonarQube。
    如:当前系统为win10的64位系统,则打开 .../bin/windows-x86-64/StartSonar.bat 文件。

    测试

    启动浏览器,访问 http://localhost:9000 。如访问成功,则表示Sonar正常。如访问失败,则可以在 ../logs/sonar.log 文件中查看日志。

    启动Sonar

    操作以下步骤前,请先将Sonar停止运行。
    停止方法:操作以下步骤前,请先将Sonar停止运行**。停止方法:关闭 StartSonar.bat,并在任务管理器中,关闭所有java进程。

    配置系统变量

    新建系统变量 SONAR_HOME,指向SonarQube根目录,并在系统变量`path`中追加注册 %SONAR_HOME%in

    安装服务

    打开 StartSonar.bat 文件所在目录,运行文件 InstallNTService.bat 安装服务即可。

    数据库支持

    Sonar需要数据库支持,在官方文档中,列出了所支持的数据库类型和版本。JDBC所需的jar包都放在了 ../lib/jdbc 文件夹中。
    以MySql为例:
    1. CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
    2. CREATE USER 'sonar' IDENTIFIED BY 'sonar';
    3. GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
    4. GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
    5. FLUSH PRIVILEGES;

    配置文件

    建好数据库后,需在配置文件中写入数据库信息。
    1. sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&
    2. useConfigs=maxPerformance
    3. sonar.jdbc.username=sonar
    4. sonar.jdbc.password=sonar
    5. score.jdbc.driverClassName=com.mysql.jdbc.Driver

    测试

    启动Sonar,当次启动因Sonar会初始化数据库,耗时20分钟左右,需耐心等待。
    启动后,可尝试登录Sonar,初始用户名:admin,密码:admin。

    中文插件

    登录Sonar后,打开 Administrator → System → Available,然后搜索 chinese Pack,点击 Install 按钮安装,然后根据指引重启Sonar服务,即可看到中文界面。另外,也可以从[GitHub]下载插件jar包,然后放在路径 ../extensionsplugins 下,重启Sonar服务。下载前,请查看[文档说明],注意版本对应。

     

    安装Sonar Scanner

    Sonar Scanner是用于将项目发布到Sonar进行审查的工具,曾用名Sonar Runner。如果项目使用Maven,请根据Scanner的[官方文档]进行配置。

    下载解压

    下载好Sonar Scanner压缩包,并解压。

    配置系统变量

    新建系统变量 SONAR_SCANNER_HOME,指向Sonar Scanner的根目录,并在系统变量`path`中追加注册`%SONAR_SCANNER_HOME%in`。

    全局配置文件

    打开配置文件 ../conf/sonar-scanner.properties,写入Sonar服务地址,编码,登录名和密码,以及数据库配置。
    1. sonar.host.url=http://localhost:9000
    2. sonar.sourceEncoding=UTF-8
    3. sonar.login=admin
    4. sonar.password=admin
    5. sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
    6. sonar.jdbc.username=sonar
    7. sonar.jdbc.password=sonar

    项目配置文件

    在目标项目的根目录下,创建`sonar-project.properties`配置文件。内容如下:
    1. #必要属性,项目唯一标识
    2. sonar.projectKey=
    3. #必要属性,项目版本
    4. sonar.projectVersion=1.0.0
    5. #必要属性,项目语言
    6. sonar.language=java
    7. #必要属性,项目编码
    8. sonar.sourceEncoding=UTF-8
    9. #可选属性,项目名称
    10. sonar.projectName=
    11. #可选属性,源代码目录(多个目录用逗号分隔)
    12. sonar.sources=

    发布项目

    在cmd中,进入项目根路径,输入命令:sonar-runner,将项目发布到Sonar服务中。
    如果出现 EXECUTION SUCCESS,则发布成功!
    此时,打开Sonar服务,即可看到项目代码质量报告!


    Eclipse插件--SonarLint

    SonarLint是Eclipse最新版的Sonar插件。经测试,此插件适用不低于Mars版本的Eclipse。

    在线安装

    打开Eclipse的 Help → Marketplace  搜索 SonarLint,执行Install,重启Eclipse。

    配置

    新建 sonarLint:

    填写Sonar服务信息:

    代码审查
    在目标项目上右键弹窗,点击 SonarLint → Analyze changed files 即可。
    此时,我们就可以在项目代码中,看到蓝色下划线,在 SonarLint On-The-Fly 视图中,看到审查信息了:
     



  • 相关阅读:
    逆向学习-内嵌补丁(洞穴代码)
    ubuntu下创建ftp用户,该用户只访问特定目录下的内容
    Ubuntu 14.04 FTP服务器--vsftpd的安装和配置
    Hdu 4223 Dynamic Programming?
    Hdu 3873 Invade the Mars
    Hdu 2025 查找最大元素
    Hdu 1520 Anniversary party
    Hdu 4283 You Are the One
    HTTP协议
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/Maple-leaves/p/6255495.html
Copyright © 2011-2022 走看看