SonarQube介绍(1)

概要

  1. 一个SonarQube服务器启动3个主要流程:
  • Web服务器,供开发人员,管理人员浏览高质量快照并配置SonarQube实例

  • 基于Elasticsearch的Search Server从UI返回搜索

  • 计算引擎服务器负责处理代码分析报告并将其保存在SonarQube数据库中

  1. 一个SonarQube数据库存储:
  • SonarQube实例的配置(安全性,插件设置等)

  • 项目,视图等的质量快照

  1. 服务器上安装了多个SonarQube插件,可能包括语言,SCM,集成,身份验证和治理插件

  2. 在构建/持续集成服务器上运行一个或多个SonarScanner来分析项目

组合使用

  1. 开发人员在他们的IDE中编写代码并使用SonarLint运行本地分析。

  2. 开发人员将他们的代码推送到他们最喜欢的SCM:git,SVN,TFVC,…

  3. Continuous Integration Server会触发自动构建,以及运行SonarQube分析所需的SonarScanner的执行。

  4. 分析报告将发送到SonarQube服务器进行处理。

  5. SonarQube Server处理分析报告结果并将其存储在SonarQube数据库中,并在UI中显示结果。

  6. 开发人员通过SonarQube UI审核,评论,挑战他们的问题以管理和减少他们的技术债务。

  7. 经理从分析中接收报告。Ops使用API​​自动配置并从SonarQube中提取数据。Ops使用JMX监控SonarQube服务器。

分析源代码

sonar需要/可以依赖外部的工具有两类:测试覆盖和单元测试报告、外部的代码规则

  • 测试覆盖的统计必须依赖外部的工具(否则结果会一直是0%),先执行外部工具生成报告,然后通过sonar的支持引入报告

  • 单元测试的执行必须依赖外部的工具,先执行外部工具生成报告,然后通过sonar的支持引入报告

  • 外部代码规则的引入必须依赖外部的工具,先执行外部工具生成报告,然后通过sonar的支持引入报告

你可能感兴趣的:(Sonar与代码检测分析)