Sonarqube的优点:
(1)支持所有语言的检测。一个工具,搞定所有。
(2)灵活扩展,插拔式使用。自定义的代码检测规则,可自定义插件,独立打成JAR包放到SONARQUBE插件目录下,重启即生效,开发使用非常方便。而且自带UT验证框架,开发。
(3)规则支持多租户隔离。租户可定制自己的规则集。
(4)生态强大,业界有诸多插件,与jenkins友好集成。
(5)部署使用便捷。
(6)架构松耦合,通过与maven/jenkins等集成,将代码扫描的计算消耗迁移到业务或者构建方的资源上,极大的提升了自身的吞吐能力。
SonarQube组成结构
1. SonarQube Platform,就是SonarQube服务器,这是SonarQube运行的基础。
首先解压缩SonarQube的发布软件;
必要的情况下配置解压缩目录下的sonarqube/conf/perties文件;
启动SonarQube Platform:
Windows下执行t
Linux下执行sonarqube/bin/ start c0nsole
启动成功,可登录的用户名和密码为
注意,在实验验证阶段,SonarQube Platform默认使用H2数据库;但是在生产环境中,还需要使用MySQL等其他企业级数据库服务器。
2. SonarQube Scanner,即分析项目代码的默认启动器
首先解压缩SonarQube Scanner;
必要情况下,配置文件sonar-scanner/conf/sonar-perties;建议配置如下:
每次提交前的分析,设置参数sonar.analysis.mode=preview
每天都要执行的CI分析,设置参数sonar.analysis.mode=publish
启动SonarQube Scanner:
Windows下执行sonar-t
Linux下执行sonar-scanner/bin/sonar-scanner
3.分析项目
首先根据项目代码的编程语言,在线安装必要的SonarQube插件,以支持项目使用的编程语言;
然后,cd到要分析的项目目录下,如some/projects/java/myproject/
在项目目录下创建并配置sonar-perties文件
SonarQube使用流程
使用流程图
1、开发负责人获取蕞新代码到本地;
2、开发负责人执行sonar-runner开始代码分析工作;
3、开发负责人将分析出来的issue指派给开发人员;
4、开发人员修复issue;
5、开发负责人重新获取蕞新源码,重新执行sonar-runner,检查issue的修复情况。