赞
踩
一、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就可以生成下载分析的文件。
版权所有,引用请注明出处,并联系本人征得本人同意后才可转载。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。