sonar mysql 版本_SonarQube下载、安装、使用

本文详细介绍了SonarQube的安装、配置和使用过程,包括其作为代码质量管理平台的主要特性,如持续检查、质量阈值、多语言支持和DevOps集成。SonarQube支持多种编程语言,通过分析代码复杂度、重复度、单元测试覆盖率等维度来提升代码质量。文章还提供了解决启动问题的方法,并指导如何配置数据库和Scanner进行项目分析。
摘要由CSDN通过智能技术生成

SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。

SonarQube特性

持续检查

项目整体的健康程度

项目的主页面会给出,项目整体的Bugs、Vulnerabilities、Code Smells

专注于漏洞

water-leak-paradigm可以有效的管理代码质量:新特性,增加的,改变的

(water-leak-paradigm是sonarqube研究的一种代码管理方法)

在项目监测报告中,需要密切关注:New Bugs、New Vulnerabilities

实施质量阈值

在团队项目中,可以设置质量阈值(Quality Gate),用于监管质量

分支分析

确保干净的代码才会被合并到主分支中

监测棘手的问题

多语言

支持:ABAP、C/C++、C#、CSS、COBOL、Flex、Go、HTML、Java、JavaScript、Kotlin、Objective-C、PL/SQL、PL/I、PHP、Python、RPG、Ruby、Swift、T-SQL、TypeScript、VB.NET、VB6

XML

集成DevOps

集中质量

七个维度检测代码质量

复杂度分布(complexity):代码复杂度过高将难以理解

重复代码(duplications):程序中包含大量复制、粘贴的代码而导致代码臃肿,sonar可以展示源码中重复严重的地方

单元测试统计(unit tests):统计并展示单元测试覆盖率,开发或测试可以清楚测试代码的覆盖情况

代码规则检查(coding rules):通过Findbugs,PMD,CheckStyle等检查代码是否符合规范

注释率(comments):若代码注释过少,特别是人员变动后,其他人接手比较难接手;若过多,又不利于阅读

潜在的Bug(potential bugs):通过Findbugs,PMD,CheckStyle等检测潜在的bug

结构与设计(architecture & design):找出循环,展示包与包、类与类之间的依赖、检查程序之间耦合度

4d9d2534c0d3

SonqrQube系统集成图.png

用户本地使用IDE的插件进行代码分析

用户上传到源代码版本控制服务器

持续集成,使用Sonar Scanner进行扫描

将扫描结果上传到SonarQube服务器

SonarQube server将结果写入db

用户通过web ui查看扫描结果

SonarQube导出结果到其他需要的服务

下面将会介绍这个工具的安装、配置以及使用。

默认电脑中已安装JDK和MySQL数据库(Sonar7.4支持的版本:Java1.8, MySQL5.6/5.7 关于支持的基础环境可以参照https://docs.sonarqube.org/latest/requirements/requirements/),JDK已配置环境变量,MySQL服务已启动。

1 SonarQube安装

目前SonarQube最新的版本是7.4,该版本对比以往增加了:DevOps工具、Cognitive Complexity等。会以该版本为例。

1.1 下载

在SonarQube的下载页面:https://www.sonarqube.org/downloads/,下载需要的版本。一般会下载社区版本,如下图所示:

4d9d2534c0d3

7.4社区版本

1.2 安装

下载完成后,解压缩直接可以使用,打开bin目录下对应OS的StartSonar.bat,例如本人的电脑是windows64位

4d9d2534c0d3

StartSonar.bat

可能出现的意外情况:StartSonar.bat打开后,运行几秒钟后退出,此时Sonar服务并没有成功启动。

解决办法:打开任务管理器(Ctrl+Alt+Delete),找到 Java(TM) Platform SE binary,通常情况下会有2-3个,结束任务,之后重新双击启动StartSonar.bat,界面会有提示SonarQube is up,即成功启动。

4d9d2534c0d3

SonarQube is up.png

浏览器中打开:http://localhost:9000,可以进入web界面。

4d9d2534c0d3

web界面

1.3 注册

点击右上角Log in在web页面注册账号,并登录

4d9d2534c0d3

注册账号

备注:保存账号及密码,后面会用到

2 配置

SonarQube工具需要数据库的支持,Scanner(后续会讲到)扫描项目时,会将分析结果存入数据库,web页面生成报告时会读取数据库的数据。

4d9d2534c0d3

SonarQube架构设计图

SonarQube目前支持Oracle、MySQL、PostgreSQL、MS SQL,数据库版本以及要求,参照:https://docs.sonarqube.org/latest/requirements/requirements/,本次安装使用的是MySQL

2.1 新建数据库

命令行 窗口:mysql -u root -p //登录数据库

create database sonar7 default character set utf8 collate utf8_general_ci;

//创建数据库,默认编码utf8

MySQL数据库必须是InnoDB存储引擎,不支持MyISAM

2.2 配置 sonar.properties

打开安装目录下的conf文件,找到sonar.properties,编辑mysql节点的配置文件(不同的数据库对应不同的节点,sonar.properties中有guide)

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar7?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false #数据库连接地址

sonar.jdbc.username=root #数据库账号

sonar.jdbc.password=admin #数据库密码

sonar.sorceEncoding=UTF-8

sonar.login=admin #web页面注册的账号

sonar.password=admin #web页面注册的密码

配置完成后,重新启动StartSonar.bat, 如果启动不成功,可以结束Java(TM) Platform SE binary。

启动成功的标志,下述三项,缺一不可

sonarqube is up

localhost:9000 可以打开

数据库中,生成了十几张表

3 使用

3.1 下载配置Scanner

SonarQube Scanner 是默认Scanner,Sonar为Maven、Gradle等都开发了Scanner

4d9d2534c0d3

多个版本的Scanner

这里我们使用default的Scanner,可以通过下面链接下载:

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

下载完成后,配置conf文件夹下的sonar-scanner.properties

#----- Default SonarQube server

sonar.host.url=http://localhost:9000

#----- Default source code encoding

sonar.sourceEncoding=UTF-8

为安装目录配置环境变量

新建变量,name=SONAR_SCANNER_HOME。value=G:\develop\sonarqube-7.4\sonar-scanner-3.2.0.1227-windows

打开path,输入%SONAR_SCANNER_HOME%\bin;

sonar-scanner -h,出现以下信息,则表示环境变量设置成功

4d9d2534c0d3

配置成功检测

3.2 项目配置

进入待检测的项目目录中,新建sonar-project.properties,增加以下内容:

# must be unique in a given SonarQube instance

sonar.projectKey=my:project

# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.

sonar.projectName=My project

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=.

# Encoding of the source code. Default is default system encoding

#sonar.sourceEncoding=UTF-8

打开命令行窗口,切换目录到项目目录,输入sonar-scanner

运行成功后,打开web界面,即可看到对当前项目的分析。

4d9d2534c0d3

运行成功

此时查看web界面,可以看到当前项目的代码质量情况

4d9d2534c0d3

web

4 插件

sonar市场在线下载中文语言包Chinese Pack

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值