sonarQube的安装配置-系列一

上一篇 / 下一篇  2019-09-18 16:48:31 / 个人分类:过程管理

     sonar的配置也是在网上找了很多资料配置成功的,分享给大家,我们的项目是.net开发的,.net有两个框架.netframework和.netcore,两者的区别是是否跨平台,后者跨平台。两个框架因为编译的环境不一样,所以进行分析的时候使用的命令是不一样的(这个在网上查了很多资料也没查到,无奈只能看英文再加上反复试验才摸索出来的)。先将sonar的安装和配置分享出来。

一 . SonarQube代码质量检查工具简介

Sonar (SonarQube)是一个开源平台,用于管理源代码的质量.Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持Java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等二十几种编程语言的代码质量管理与检测。Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。

1. 不遵循代码标准

sonar可以通过PMD,CheckStyle,Findbugs等代码规则检测工具规范代码编写。

2. 潜在的缺陷

sonar可以通过PMD,CheckStyle,Findbugs等代码规则检测工具检 测出潜在的缺陷。

3. 糟糕的复杂度分布

文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。

4. 重复

显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示 源码中重复严重的地方。

5. 注释不足或者过多

没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。

6. 缺乏单元测试

sonar可以很方便地统计并展示单元测试覆盖率。

7. 糟糕的设计

通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测藕合。


二. 安装:

2.1 安装SonarQube web server

1.  首先确保安装了jdk1.8 +

2.  到此链接 https://www.sonarqube.org/downloads/ 

下载sonalqube(下载社区版,是开源的),

我下载的是当前最新版本 7.7

并解压,解压完之后的目录如下 :

 


3. 到解压目录的bin\windows-x86-64(我的是64位的)目录下:

双击StartSonar.bat文件 启动SonarQube

4. 到浏览器界面,输入 : http://localhost:9000 

// 能够进入界面证明安装成功

2.2 安装数据库

1. 版本要求:

在conf目录下的sonar.properties文件下:

有这样一行配置 : 

#----- MySQL >=5.6 && < 8.0

所以, mysql版本过高的话,要降级!! 比如说我... 用的就是8.0.11版本的

附 : mysql 8.0.11 版本卸载

1. 关闭mysql服务 

net stop mysql

2. 删除mysql

sc delete mysql

3. 删除mysql的目录文件, 我直接把mysql安装目录整个删除了

4. 将mysql的环境变量清空

然后在下载安装一个合适版本的即可

2. 为sonarqube 创建一个数据库

create database 数据库名;  

3. 创建sonarqube用户并进行授权

CREATE USER 'username'@'host' IDENTIFIED BY 'password'; // 创建用户并设置密码

// username 为创建的用户名

host为对应的主机地址,本地就是localhost

password为设置的密码

GRANT ALL ON *.* TO '用户名'@'localhost'; //对用户进行授权操作

4. 修改SonarQube配置文件,添加Mysql相关配置|(D:\sonar\sonarqube-7.7\conf\sonar.properties)

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

sonar.jdbc.username=用户名  // 刚刚创建的sonarQube用户

sonar.jdbc.password=密码   // 创建用户对应的密码

sonar.sorceEncoding=UTF-8 // 设置编码格式为UTF-8


2.3 重新启动服务端

1. 退出 SonarQube 服务端

在之前弹出的cmd窗口执行ctrl + c,

弹出来的提示选择Y,退出SonarQube服务

2.  双击StartSonar.bat文件, 重新启动SonarQube

这次因为要进行数据库的初始化操作,所以需要的时间可能稍微久一点

3. 启动成功后,浏览器输入 : http://localhost:9000 进入界面

4. 登录 

点击界面右上角的登录按钮, 进行登录 :

初始的账户名 : admin

初始的密码  :  admin

如上 , SonarQube的安装已经OK!

附 : 一些关键配置的修改,如 主机地址,context,端口号等:

通常情况下使用默认的配置即可!

文件 /conf/sonar.properties

#sonar.web.host=0.0.0.0 

#sonar.web.context=

#sonar.web.port=9000


三. 使用

3.1. 安装必要的插件 (汉化包)

汉化包:sonar-l10n-zh-plugin-1.27.jar放到D:\sonar\sonarqube-7.7\extensions\plugins路径下即可

安装成功后, 重启 SonarQube !


https://blog.csdn.net/huo108/article/details/81160624


四.常见问题

问题1:sonar-scanner -version 不能成功,这个环境变量配置好了之后需要重启电脑。

问题2:分析项目出现:Failed to upload report - 500: An error has occurred. Please contact your administrator

需要在sql 运行下面 命令:

set global max_allowed_packet = 2*1024*1024*10 不要忘记 commit

重启数据库 show VARIABLES like ‘%max_allowed_packet%’;  查下是不是变大了,具体为什么这样做 大家可以看web.log

问题3 分析项目:Please provide compiled classes of your project with sonar.java.binaries property

出现这个错误,就是我们要在目录下 加bin 文件夹。




TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar