1 什么是sonarqube
sonarQube是一个开源的代码质量管理系统,用于检测代码中的错误、bug,它可以与jenkins集成,进行自动化代码质量扫描
官网:https://www.sonarqube.org/
2 使用sonarqube的前提
- sonarqube基于java开发所以需要安装JDK1.8版本。
- SonarQube需要依赖MySQL数据库,至少5.6以上版本。
- SonarQube 的小型实例至少需要4G内存,如果大型实例需要16GB
3 sonarqube环境安装准备
4 安装sonarqube
5 启动sonarqube
6 访问sonarqube
sonar初始化操作,配置认证Token,使用Token访问无需密码
7 sonarqube插件管理
7.1 默认概述
Sonarqube默认已经安装了 C Java Python Php 等代码的质量分析工具;那我们为什么还需要安装插件?因为我们还需要检测 html等类型代码,而默认插件没有,所以需要安装;以便将代码检测的更加完善;
当前安装的插件支持那些
7.2 联网安装插件
联网安装插件比较简单,仅需要上应用市场搜索插件名称即可,如下以安装中文语言包插件为例;点击配置> 应用市场--> 搜索框chinese,出现一个Chinese Pack,然后点击install安装好的插件会存储至/app/module/sonarqube/extensions/plugins/xx.jar
7.3 离线安装插件
由于 SonarQube 需要安装很多的插件,并且插件安装需要很长的时间;所以我们可以通过导入的方式来完成插件的安装;注意导入后需要重启 Sonarqube
8 sonarqube代码检测
前面已经将sonarqube服务以及插件安装完成,那么接下来只需要将代码推送至 sonarqube 进行分析即可。
8.1 Java项目分析
推送代码
查看项目分析结果
报错处理
8.2 html项目分析
Sonarqube 分析 Html、php、go 项目;需要借助sonar-scanner客户端工具来完成代码的分析;需要在项目所在的主机安装sonar-scanner
安装sonar-scanner
推送代码
查看项目分析结果
报错处理
9 Jenkins集成sonarqube
Jenkins 需要知道 Sonarqube 服务;以便能将代码推送指定服务节点;
Jenkins 需要知道 Sonar-Scanner 客户端工具,以便能正常调用
9.1 集成sonarqube
1 安装插件
需要安装SonarQube Scanner插件
2 添加凭据
3 配置sonarqube服务端
Name 可以随意填写
URL 添加 SonarQube服务端地址;确保Jenkins能正常访问;
9.2 集成Sonar-Scanner
Name 可以随意填写,但最好有规范
SONAR_RUNNER_HOME 填写 sonar-scanner 在Jenkins本地路径
9.3 Maven质检方式
Scanner不支持java代码质检
需要调用Maven或者直接mvn绝对路径执行
查看项目分析结果
9.4 Scanner质检方式
查看项目分析结果