代码质量检查SonarQube、Sonar-scanner+SonarQube for IDE安装和使用
SonarQube、Sonar-scanner+SonarQube for IDE安装和使用
本次选用版本为:
1、SonarQube10.6(下载地址)
2、sonar-scanner-8.0.1(下载地址)
3、SonarQube for IDE按照idea版本进行安装(插件地址)
官网:https://www.sonarsource.com/products/sonarqube/downloads/
1、SonarQube10.6安装
下载jdk17
由于SonarQube10.6要求jdk17+,所以需要先下载jdk17,如开发无需使用jdk17而仅仅是SonarQube使用则可以不配置环境变量,仅作为SonarQube10.6使用。
jdk17(下载地址)
SonarQube下载完成后解压到指定文件夹如D盘。
进入安装目录中/conf/sonar.properties对jdk进行配置,新增以下内容
# 配置web服务
sonar.web.java=D:/jdk-17.0.10/bin/java.exe
# 配置计算引擎
sonar.ce.java=D:/jdk-17.0.10/bin/java.exe
# 配置搜索服务
sonar.search.java=D:/jdk-17.0.10/bin/java.exe
配置/bin/windows-x86-64/StartSonar.bat
@rem 将find_java.bat配置jdk改为直接指定,find_java.bat会按照优先级先查找环境变量的jdk,如果都为jdk17则不用配置
@rem set JAVA_EXE=
@rem call "%REALPATH%lib\find_java.bat" set_java_exe FAIL || goto:eof
set "JAVA_EXE=D:\jdk-17.0.10\bin\java.exe"
如需配置启动端口等信息请自行配置,这里使用默认的9000端口
进入安装目录\bin\windows-x86-64,双击StartSonar.bat启动SonarQube
常见启动失败为jdk配置错误
启动成功如下所示:
打开浏览器访问 http://localhost:9000/
登录账密 admin/admin,首次登录会提示修改密码
为方便使用,安装中文插件

安装完成之后重启即可。
控制台中的代码规则、质量配置、质量门禁请自行探索配置
2、IDEA配置SonarQube for IDE
按照IDEA下载对应版本的插件并配置
配置连接SonarQube服务

配置接口名称和地址,地址使用本地http://localhost:9000/即可
现在随便打开一个文件可以实时查看文件中的风险信息
标黄的地方可以看到匹配到的SonarQube规则
3、扫描maven项目



此时已经建好了一个项目,我们可以分析本地项目
如需实时分析提交的代码可以使用gitlab等配置,可配置不符合规则的代码无法提交git

创建令牌


在项目pom根目录中执行该命令即可完成扫描并将扫描结果上传到SonarQube服务器
注意SonarQube是使用jdk17,如果项目是使用jdk8会导致报错,无法正常编译
下面介绍一下更便捷的方法扫描本地代码,无需jdk maven,只检查代码的规范性和安全性
3、Sonar-scanner扫描项目
按照上面提供的链接下载并解压到指定文件夹
进入要扫描的项目目录,新增一个sonar-project.properties文件
# 项目基础配置
sonar.projectKey=pt-hais-sti-inventory
sonar.projectName=pt-hais-sti-inventory
sonar.projectVersion=1.0
# 只扫描 src 目录,排除配置文件,多个用逗号隔开
sonar.sources=pt-hais-sti-inventory-server/src
sonar.exclusions=**/*.xml,**/*.yml,**/*.yaml,**/*.properties,**/pom.xml,**/target/**,**/.idea/**
# 编码
sonar.sourceEncoding=UTF-8
# 2. 配置编译后的class路径(IDEA Rebuild后自动生成,直接写)
sonar.java.binaries=pt-hais-sti-inventory-server/target/classes
# 服务器地址 + 认证 Token(核心修改!)
sonar.host.url=http://localhost:9000
sonar.token=SonarQube中的token
SonarQube生成一个token
进行以上操作之后我们的项目根目录就有了一个sonar-project.properties文件
进入项目根目录,打开cmd命令行执行以下命令:
D:\sonar-scanner-8.0.1.6346-windows-x64\bin\sonar-scanner.bat

等待扫描完成即可在SonarQube控制台中查看该项目的扫描情况。

点进项目即可看到具体的报错信息
查看具体提示行和问题原因和方法,可以直接点击IDEA打开定位到具体代码行
以上介绍了SonarQube、Sonar-scanner的简单使用,小伙伴们可以自行探索更多玩法。
后续有更多对SonarQube的配置操作等再继续更新内容。
更多推荐




所有评论(0)