代码质量管理sonarqube部署使用
一、sonarqube的部署
1.下载sonaqube:https://www.sonarqube.org/downloads/
根据需要下载特定版本:

2.如果通过sonar-scanner进行代码扫描的话需要下载sonar-scanner的安装包,如果通过maven或者sonarlint进行则不需要。
sonar-scanner下载地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

下载完成后的文件如下:
sonarqube是代码质量管理的平台。
sonar-scanner是代码扫描的命令行工具。

3.配置文件:
D:\sonarqube\sonarqube-7.9.1\conf\sonar.properties
配置数据库连接属性,以MySQL为例(sonarqube自7.9.版本开始不支持MySQL数据库,其他数据库连接与MySQL只有url稍微有区别):
# 数据库连接属性sonar.jdbc.driverClassName=com.mysql.jdbc.Driversonar.jdbc.url=jdbc:mysql://10.255.23.4:30218/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=falsesonar.jdbc.username=root sonar.jdbc.password=Gbom@654321
# sonar服务绑定的主机和端口(0.0.0.0表示所有IP都可访问)sonar.web.host=0.0.0.0sonar.web.port=9000
# sonar 默认编码和登录账号sonar.sorceEncoding=UTF-8sonar.login=adminsonar.password=admin
配置 sonar-scanner 扫描工具:
D:\sonarqube\sonar-scanner-cli\conf\sonar-scanner.properties
# 配置scanner连接的sonar服务地址sonar.host.url=http://localhost:9000# 配置默认编码#sonar.sourceEncoding=UTF-8# 配置sonar服务器连接的数据库sonar.jdbc.url=jdbc:mysql://10.255.23.4:30218/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=falsesonar.jdbc.username=root sonar.jdbc.password=Gbom@654321
二、服务启动
启动sonarqube:
进入安装目录的bin目录下执行命令StartSonar.bat:
D:\sonarqube\sonarqube-7.9.1\bin\windows-x86-64>StartSonar
出现下面信息,服务启动成功:

访问:http://127.0.0.1:9000/ 进行登录,默认账号密码:admin/admin
三、代码扫描:
扫描代码需要新建并配置代码扫描属性文件sonar-project.properties,将文件放在项目根目录下:

sonar-project.properties配置内容如下:
#projectKey是项目的唯一标识,不能出现重复,可随意起sonar.projectKey=bom-mgmt-service# SonarQube UI上显示的项目名称,不能是中文sonar.projectName=bom-mgmt-service# 项目的版本号sonar.projectVersion=0.1# 项目的代码的编码格式sonar.sourceEndcoding=UTF-8# 项目的语言sonar.language=java# 项目的源代码目录sonar.sources=src# 项目的编译生成的class文件的所在目录sonar.java.binaries=./target/classes
1.通过scanner进行扫描:
首先进入项目根目录

执行命令:D:\workspace\xx-service>sonar-scanner
出现如下提示后表示扫描成功。

登录sonarqube服务进行查看扫描结果:

2.通过maven插件进行扫描:
首先在maven的配置文件C:\apache-maven-3.8.1\conf\settings.xml 添加sonarqube插件支持,并配置sonar服务器信息:
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.host.url>
http://localhost:9000
</sonar.host.url>
<sonar.login>admin</sonar.login>
<sonar.password>admin</sonar.password>
</properties>
</profile>
</profiles>
然后在项目的pom.xml 文件中引入maven的sonar插件

<build>
<plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</plugin>
</plugins>
</build>
刷新maven依赖后,在idea右侧的maven菜单框中可以看到sonar的插件,双击就可以进行代码扫描,扫描过后可以在sonarqube的界面看到扫描的结果。

四、sonarlint的使用:
1.在idea的插件市场搜索sonarlint,下载安装。
2.登录sonarqube的管理界面,创建项目并进行配置。然后再idea中配置sonarlint连接到sonarqube,并绑定项目:

点击next进入下一步,创建连接,连接可以选择token方式或者账号密码方式:

连接方式创建好以后本地项目与sonarqube中的项目进行绑定。

3.右击项目进行扫描。sonarlint对项目的扫描只会从sonarqube上拉取规则来扫描本地的代码,并不会向sonarqube上传扫描结果:

版权所有,侵权必究,引用请注明出处。
代码质量管理sonarqube部署使用的更多相关文章
- 持续代码质量管理-SonarQube Scanner部署
1. SonarQube Scanner地址 上一篇文章我们安装了SonarQube-7.3,让我们可以在页面查看代码质量.但是具体的扫描工作则需要SonarQube Scanner完成. 下载页面 ...
- 代码质量管理 SonarQube 系列之 安装
简介 SonarQube 是一个开源的代码质量管理系统. 功能介绍: 15种语言的静态代码分析 Java.JavaScript.C#.TypeScript.Kotlin.Ruby.Go.Scala.F ...
- 使用 Sonar 进行代码质量管理
参考资料: 使用 Sonar 进行代码质量管理 SonarQube的安装.配置与使用 SonarLint(Sonar) 代码质量管理
- 代码质量管理平台之SonarQube安装部署
一.简介 Sonar是一个用于代码质量管理的开放平台,通过插件机制,sonar可以收集不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(比如jenkins)不同,sonar并不是简单地把 ...
- 手把手教你用SonarQube+Jenkins搭建--前端项目--代码质量管理平台 (Window系统)
前言 网上教程大多介绍的是Linux系统下SonarQube+Jenkins如何使用,这是因为这两款软件一般都是部署在服务器上,而大多数服务器,采用的都是Linux系统.大多数服务器用Linux的原因 ...
- SonarQube代码质量管理平台安装与使用
Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaS ...
- Objective C静态代码扫描和代码质量管理 OClint + SonarQube
OClint是针对C, C++及Objective C代码的静态扫描分析工具,而SonarQube是一个开源的代码质量管理平台.本文将实现将OClint的扫描结果导入到SonarQube中,已实现对O ...
- SonarQube代码质量管理平台安装与使用--转载
原文:http://blog.csdn.net/hunterno4/article/details/11687269 Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量, ...
- SonarQube代码质量管理平台工具
1.Sonar轮廓介绍 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量.Sonar 不只是一个质量数据报告工具,更是代码质量管理平台.支持的语言包括:Java.PHP.C#.C ...
随机推荐
- Output of C++ Program | Set 18
Predict the output of following C++ programs. Question 1 1 #include <iostream> 2 using namespa ...
- vmware使用nat连接配置
一.首先查看自己的虚拟机服务有没有开启,选择电脑里面的服务查看: 1.计算机点击右键选择管理 2.进入管理选择VM开头的服务如果没有开启的话就右键开启 二.虚拟机服务开启后就查看本地网络虚拟机的网 ...
- my37_MGR流控对数据库性能的影响以及MGR与主从的性能对比
mysql> show variables like 'group_replication_flow_control_applier_threshold'; +----------------- ...
- 【spring AOP】@Pointcut的12种用法
@Pointcut用来标注在方法上来定义切入点. 使用格式:@ 注解(value="表达标签 (表达式格式)").如:@Pointcut("execution(* com ...
- SpringColud微服务-微服务概述
一.什么是微服务架构 微服务架构是一种架构模式,它提倡讲单一应用程序划分为一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.每个服务运行在单独的进程当中,服务与服务之间采用轻量级的通信机制 ...
- 【Matlab】线性调频信号LFM 仿真
[知识点] 生成序列 i = a:step:b 举例: i = 1:1:9 画图(子图) subplot(m,n,p)或者subplot(m n p) 总结起来就是,画一个m行n列的图. p表示在第p ...
- 【C/C++】习题3-2 分子量/算法竞赛入门经典/字符串
给出一种物质的分子式,求分子量.只包含4种原子,分别为C,H,O,N. [知识点] 1.ASCII码 [阿拉伯数字]48~57 [大写字母]65~90 [小写字母]97~122 2.输入循环到n-1的 ...
- frp实现基于反向代理的内网穿透
个人博客主页: xzajyjs.cn frp是什么 简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP.TCP.UDP等众多协议 ...
- CPU的中断
目录 一.简介 二.具体 方式 硬中断 软中断 中断切换 网卡中断 三.中断查看 一.简介 中断其实就是由硬件或软件所发送的一种称为IRQ(中断请求)的信号.中断允许让设备,如键盘,串口卡,并口等设备 ...
- Three.js 实现3D全景侦探小游戏🕵️
背景 你是嘿嘿嘿侦探社实习侦探️,接到上级指派任务,到甄开心小镇调查市民甄不戳宝石失窃案,根据线人流浪汉老石提供的线索,小偷就躲在小镇,快把他找出来,帮甄不戳寻回失窃的宝石吧! 本文使用 Three ...