SonarQube 是一个开源的代码质量分析平台,便于管理代码的质量,可检查出项目代码的漏洞和潜在的逻辑问题。同时,它提供了丰富的插件,支持多种语言的检测, 如 Java、Python、Groovy、C、C++等几十种编程语言的检测。
SonarQube主要的核心价值体现在如下几个方面:
检查代码是否遵循编程标准:如命名规范,编写的规范等。
检查设计存在的潜在缺陷:SonarQube 通过插件 Findbugs、Checkstyle 等工具检测代码存在的缺陷。
检测代码的重复代码量:SonarQube 可 以展示项目中存在大量复制粘贴的代码。
检测代码中注释的程度:源码注释过多或者太少都不好,影响程序的可读可理解性。
检测代码中包、类之间的关系:分析类之间的关系是否合理,复杂度情况。
一个SonarQube服务器启动3个主要流程:
Web服务器,供开发人员,管理人员浏览高质量快照并配置SonarQube实例
基于Elasticsearch的Search Server从UI返回搜索
计算引擎服务器负责处理代码分析报告并将其保存在SonarQube数据库中
一个SonarQube数据库存储:
SonarQube实例的配置(安全性,插件设置等)
项目,视图等的质量快照
服务器上安装了多个SonarQube插件,可能包括语言,SCM,集成,身份验证和治理插件
在构建/持续集成服务器上运行一个或多个SonarScanner来分析项目
具体搭建使用参考:
SonarQube搭建