当前位置:首页 > 技术分析 > 正文内容

第四篇 SonarQube部署及代码质量扫描

ruisui883个月前 (01-31)技术分析16

一、初始化SonarQube Token

点击 右上角账号 -> 下拉选择 我的账号 -> 点击 安全选项,输入 令牌名称 -> 点击 生成 或者 直接访问这个地址
http://10.10.10.144:9000/account/security/

生成之后记得复制并保存Token,不然页面刷新或者关闭后就无法查询到Token了。

二、扫描项目示例

如果通过sonar-scanner进行代码扫描的话需要下载sonar-scanner的安装包,如果通过maven或者sonarlint进行则不需要。

2.1、Maven扫描并提交到SonarQube

2.1.1、修改pom.xml文件

修改build节点,增加sonar-maven-plugin


    org.sonarsource.scanner.maven
    sonar-maven-plugin
    3.6.0.1398

2.1.2、扫描并提交

  • 执行扫描命令
    进入项目根目录 cd sonardemo,执行下面命令
mvn sonar:sonar -Dsonar.projectKey=com-luck-framesimple -Dsonar.host.url=http://10.10.10.144:9000 -Dsonar.login=39c67d30e2dae9181cc3160fbdb7b578d09f89c1


注意事项:
Dsonar.host.url:SonarQube访问地址
Dsonar.login:SonarQube生成的令牌

2.1.3、查看扫描结果

  • 扫描完成访问 http://10.10.10.144:9000 查看扫描结果
  • 点击项目名字可以查看扫描详情

2.2、SonarScanner扫描并提交到SonarQube

2.2.1、下载 SonarScanner

  • Sonar-scanner 工具是对源码进行扫描,并将结果保存到数据库以便用上面的sonarqube进行分析
  • 下载地址:https://docs.sonarqube.org/latest/analyzing-source-code/scanners/sonarscanner/
  • 解压到某个目录
    解压目录为:D:\BaiduNetdiskDownload\sonar-scanner-4.8.0.2856-windows

2.2.2、配置SonarScanner环境变量

配置 SonarScanner 文件的 bin 目录地址,配置到环境变量中

配置完成后,在控制台验证,使用命令 sonar-scanner -h

2.2.3、配置SonarScanner文件

进入
sonar-scanner-4.8.0.2856-windows\conf目录,打开 sonar-scanner.properties 文件,修改 sonar.host.url信息

2.2.4、创建项目扫描配置文件

扫描项目前,需要在项目根目录创建扫描文件 sonar-project.properties

sonar.projectKey=com-luck-framesimple-parent
sonar.projectName=com-luck-framesimple-parent
sonar.projectVersion=1.0
# sources code path
sonar.sources=.
# binaries code path
sonar.java.binaries=.
#sonar.java.binaries=src
#sonar.sources=src
#sonar.exclusions=**/test/**,**/target/**,*.xml
sonar.java.source=1.8
sonar.java.target=1.8
#sonar.libraries=module2/lib
sonar.language=java
# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8
sonar.scm.disabled=true

参数说明:

2.2.5、扫描并提交

  • 执行扫描命令
    创建配置文件后,可以在目录中打开控制台,输入命令 sonar-scanner -Dsonar.login=myAuthenticationToken
sonar-scanner -Dsonar.login=39c67d30e2dae9181cc3160fbdb7b578d09f89c1

2.2.6、查看扫描结果

  • 扫描完成访问 http://10.10.10.144:9000 查看扫描结果
  • 点击项目名字可以查看扫描详情

三、扫描报表介绍

四、注意事项

  • SonarQube Unsupported JDBC driver provider: mysql
    SonarQube 7.9以上版本已不再支持MySQL数据库。
  • SonarQube启动报错:WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti
    删除sonarqube temp目录下的所有文件即可。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/606.html

分享给朋友:

“第四篇 SonarQube部署及代码质量扫描” 的相关文章

「 VUE3 + TS + Vite 」父子组件间如何通信?

组件之间传值,大家都很熟悉,涉及到 VUE3 +TS 好多同学就无从下手了,所以分享这篇文章,希望看完后提起 VUE3+TS 能够不慌不忙。平时使用的函数如:ref、reactive、watch、computed 等需要先引入才能使用,但是本篇文章介绍的 defineProps、withDefaul...

K8s里我的容器到底用了多少内存?

作者:frostchen导语 Linux下开发者习惯在物理机或者虚拟机环境下使用top和free等命令查看机器和进程的内存使用量,近年来越来越多的应用服务完成了微服务容器化改造,过去查看、监控和定位内存使用量的方法似乎时常不太奏效。如果你的应用程序刚刚迁移到K8s中,经常被诸如以下问题所困扰:容器的...

Vue实现动态路由

通常我们在vue项目中都是前端配置好路由的,但在一些项目中我们可能会遇到权限控制,这样我们就涉及到动态路由的设置了。动态路由设置一般有两种:(1)、简单的角色路由设置: 比如只涉及到管理员和普通用户的权限。通常直接在前端进行简单的角色权限设置(2)、复杂的路由权限设置: 比如OA系统、多种角色的权限...

SpringBoot2.X+Vue+UniAPP,全栈开发医疗小程序

//xia仔のke:chaoxingit.com/208/全栈开发医疗小程序:利用Spring Boot 2.X、Vue和UniApp在当今数字化时代,医疗行业也在不断地迈向信息化和智能化的方向。开发一款医疗小程序,能够为用户提供便捷的医疗服务和信息查询,为医疗机构提供高效的管理和服务渠道。本文将介...

TDesign企业级开源设计系统越发成熟稳定,支持 Vue3 / 小程序

TDesing 发展越来越好了,出了好几套组件库,很成熟稳定了,新项目完全可以考虑使用。早在2021年,腾讯的 TDesing 刚发布不久,我就写了一篇简短的文章来介绍,当时主要关注的是 TDesign 的 Vue 组件库和用来搭建 admin 后台系统的实用性。虽然当时看起来不错,但还处于测试版,...

企业微信自建应用和消息发送配置对接系统指南

本文介绍企业微信应用创建、消息提醒、自动回复、自定义菜单和服务端接口对接过程。企业微信登录:https://work.weixin.qq.com/企业微信接口对接,应用授权和发送消息代码:https://www.easywechat.com/docs/5.x/wework/oauth一、创建自建应用...