一、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.Driver
sonar.jdbc.url=jdbc:mysql://10.255.23.4:30218/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root 
sonar.jdbc.password=Gbom@654321

# sonar服务绑定的主机和端口(0.0.0.0表示所有IP都可访问)
sonar.web.host=0.0.0.0
sonar.web.port=9000

# sonar 默认编码和登录账号
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin

配置 sonar-scanner 扫描工具(不使用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=false
sonar.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

sonarqube关于jdk版本的问题:

7.X以上的版本需要jdk11以上的支持:

修改文件 \conf\wrapper.conf 中的第四行为最新版本的 jdk 路径。

wrapper.java.command=C:\Program Files\Java\jdk-13.0.2\bin\java

三、代码扫描:

扫描代码需要新建并配置代码扫描属性文件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的插件,双击就可以进行代码扫描(扫描之前需要在有sonar-project.properties文件的前提下先install成功以后),扫描过后可以在sonarqube的界面看到扫描的结果。

四、sonarlint的使用:

1.在idea的插件市场搜索sonarlint,下载安装。

2.登录sonarqube的管理界面,创建项目并进行配置。然后再idea中配置sonarlint连接到sonarqube,并绑定项目:

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

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

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

五 插件的安装使用

本人使用的 sonarqube7.9.1,Chinese Pack(中文语言包),sonar-l10n-zh-plugin-1.29,sonar-cnes-report-3.1.0(excel形式的质量表格),sonar-pdfreport-plugin-3.0.3(pdf形式的质量报表)

插件的安装可以在 配置->应用市场 中下载,新版本好像不支持直接在市场下载,需要自己手动下载。

以下是手动下载教程。

1. 中文插件

下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/tags

找到和自己sonarqube对应的版本进行下载。将下载的jar包放在 sonarqube安装根目录\extensions\plugins 目录下然后重启sonarqube服务就可以了。

2.PDF分析插件(Sonar PDF Report Plugin)

官网地址:sonar-pdf-plugin: sonarqube生成pdf报告插件,支持 5.5--7.x

找到和自己sonarqube对应的版本进行下载。下载jar包放置在插件目录下,然后重启sonarqube服务,点击项目,在更多中点击Download Pdf 按钮就可以下载分析的pdf文件。

3. 综合分析插件 Cnesreport

下载地址:

GitHub:https://github.com/cnescatlab/sonar-cnes-report.git

gitee:https://gitee.com/95me/sonar-cnes-report

找到和自己sonarqube对应的版本进行下载。下载jar包放置在插件目录下,然后重启sonarqube服务,点击顶部菜单的更多,可点击 CNES Report按钮就可下载需要的项目分析报告。

选择项目,点击generate就可以生成下载分析的文件。

版权所有,引用请注明出处,并联系本人征得本人同意后才可转载。

代码质量管理sonarqube部署使用相关推荐

  1. 持续集成与自动化部署 - jenkins sonar代码质量管理平台 部署和基础使用(五)...

    1 jenkins 安装参考链接 1.1 安装jenkins [root@test-node3 ~]# yum install -y java-1.8.0 [root@test-node3 ~]# c ...

  2. Sonar Qube连续代码质量管理(三)sonar-scanner-3.3.0.1492在Windows环境下安装部署和代码检查使用

    继续上篇内容,对sonar-scanner在Windows 10环境下安装部署操作步骤进行分解,安装过程相对较简单,并且作为sonar客户端通常都是安装在开发设备上,后期一般不会考虑在Linux上部署 ...

  3. 使用 Sonar 进行代码质量管理

    参考资料: 使用 Sonar 进行代码质量管理 SonarQube的安装.配置与使用 SonarLint(Sonar) 代码质量管理 转载于:https://www.cnblogs.com/wangw ...

  4. Windows10 部署 Sonarqube 代码质量管理平台

    Windows10 部署 Sonarqube 代码质量管理平台 一 安装MySQL解压版 此部分参看Win10安装MySQL5.7.22 解压缩版(手动配置)方法 1.下载MySQL MySQL官网下 ...

  5. sonarqube+jenkins 构建代码质量管理平台

    本文基于已经构建好的jenkins自动化平台,添加sonarqube质量检测平台,本文主要展示sonar环境安装以及接入jenkins的操作(同一台机器) jenkins自动化平台搭建,请参考连接文章 ...

  6. Jenkins+Gitlab+SonarQube 代码质量管理集成

    Jenkins+Gitlab+SonarQube 代码质量管理集成 一.环境准备 1.1.JDK11环境安装 1.2.Docker环境下搭建SonarQube所需的PostgreSQL数据库 1.2. ...

  7. 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube

    1.前言 上一章讲述了如何配置使用源代码管理工具SVN并使之与Apache集成,从而实现代码的变更可追溯,虽然在大多数团队里强调代码提交之前必须找团队中经验丰富的人来审核通过后方可提交,但这一条有时候 ...

  8. SonarQube代码质量管理工具安装与使用(sonarqube5.1.2 + sonar-runner-dist-2.4 + MySQL5.x)

    1. SonarQube安装(sonarqube5.1.2 + sonar-runner-dist-2.4) 1.1 前提条件 1) 已安装Java环境(version:1.7+) 2) 已安装MyS ...

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

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

最新文章

  1. 市政管网检测机器人收费标准_管道无损CCTV检测:复杂的地下管网工作,其实可以交给机器人来做...
  2. 省市县三级级联(模块化开发)
  3. Linux学习4-文件系统介绍
  4. Java高级规范之二
  5. 访问地址指向本机地址_详解MySql通过ip地址进行访问的方法
  6. svg动画制作_制作第一个SVG动画
  7. pycharm error:no module named caffe
  8. mac电脑利用file和iconv命令修改文件编码
  9. 勤哲excel服务器2017试用
  10. 火狐中国区linux无法同步,教大家火狐浏览器同步数据失败的几点原因
  11. 远程接入--为什么选择异速联
  12. 如何管理软件资产及如何管理软件许可资产?
  13. word2007 去背景底色
  14. stata陈强:计量经济学及stata应用_陈强 第五章 多元线性回归
  15. 没有投屏标志怎么投屏_没有【TV】小图标,手机怎么投屏电视
  16. 你想过自己注定是一个普通人吗?
  17. 大数据里面说的“移动计算比移动数据划算”究竟是什么意思
  18. 【教程+源码】Java开发经典游戏飞翔的小鸟_Java游戏项目Flappy Bird像素鸟游戏
  19. 【计算机网络】运输层作业
  20. JQuery实现移动9宫格图片自由切换移动

热门文章

  1. Android 调整进程的最大fd 数目
  2. 视频压缩编码算法与原理
  3. python 多列排序_python sorted多列排序
  4. 数字通信系统仿真的MATLAB实现(QPSK)
  5. 表情符号存入mysql_emoji等表情符号存mysql的方法
  6. app表白 生日 小游戏 表白
  7. Windows/Linux获取Mac地址和CPU序列号实现
  8. 18 张图解支付宝钱包系统架构!
  9. 英语专业找计算机工作好找吗,我是商务英语专业,工作好找吗?
  10. raid卡缓存对硬盘性能_可能是最简单的组raid教程