SonarScanner有效检查代码质量
1. sonarQube与SonarScanner的关系
sonar 是一个用于代码质量管理的开放平台,支持Windows、Linux、Mac。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具以及持续集成工具,与持续集成工具不同,Sonar 并不是简单地把不同的代码检查工具结果直接显示在 WEB页 面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便的不同规模和种类的工程进行代码质量管理。
2. 安装SonarScanner
在安装 SonarScanner 之前,需要先安装 jdk(至少 1.8 及以上版本)。
-
下载SonarScanner
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
下载完后,是一个 zip 压缩包。直接解压到目标目录即可,这里解压到
C:\jenkins\sonar-scanner-4.7
-
配置环境变量
SONAR_SCANNER_HOME
SONAR_SCANNER_HOME=C:\jenkins\sonar-scanner-4.7
PATH
PATH=%PATH%;C:\jenkins\sonar-scanner-4.7\bin
打开cmd命令行,使用如下命令可以检查是否安装成功
sonar-scanner --version
3. SonarScanner配置文件说明
找到 conf/sonar-scanner.properties
配置文件。大致内容如下
#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here
#----- Default SonarQube server
#sonar.host.url=http://localhost:9000
#----- Default source code encoding
#sonar.sourceEncoding=UTF-8
其中 sonar.host.url 配置项是 SonarQube 服务器的地址,根据具体情况配置。先安装如下配置
sonar.host.url=http://127.0.0.1:9000
sonar.sourceEncoding=UTF-8
即 SonarQube 服务器安装在本机,端口是 9000。
4. 项目配置
假设需要扫描的项目是
C:\jenkins\SpringBoot_v2
扫描其中的 src 目录
在 C:\jenkins\SpringBoot_v2
添加一个 sonar-project.properties
文件。配置文件模板如下:
# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# --- optional properties ---
# defaults to project key
#sonar.projectName=My project
# defaults to 'not provided'
#sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Defaults to .
#sonar.sources=.
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
配置项说明:
-
sonar.projectKey:在 sonarQube 服务器上的实例键名;必须是唯一的,不可重复相同
-
sonar.projectName:在 sonarQube 服务器上的项目名称
-
sonar.projectVersion:项目版本号,可以不指定
-
sonar.sources:指定源代码目录,可以指定扫描目录。填写sonar-project.properties文件所在目录的相对路径
如图,sonar-project.properties 文件在 C:\jenkins\SpringBoot_v2
想要扫描 src 目录,就直接填写
sonar.sources=src
-
sonar.sourceEncoding:编码格式指定
配置如下
sonar.projectKey=SpringBoot_v2:1.0
sonar.projectName=SpringBoot_v2
sonar.projectVersion=1.0
sonar.sources=src
sonar.sourceEncoding=UTF-8
5. 进行扫描
如果安装了 sonarQube 服务器就可以进行静态代码扫描了。目前没有安装的情况下,进入目录
C:\jenkins\SpringBoot_v2
在 cmd 命令行执行命令
sonar-scanner
出现以下错误
下篇讲解 sonarQube 服务器搭建。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2018-04-06 Dubbo多注册中心和Zookeeper服务的迁移