【Sonar】——架构与集成

来源:互联网 发布:dwf转换cad软件 编辑:程序博客网 时间:2024/06/15 01:18

架构(Architecture)

SonarQube平台由4个组件组成:

  1. 一个SonarQube服务器 启动3个主要进程
    • 用于开发人员的Web服务器,管理员浏览质量快照并配置SonarQube实例
    • 基于Elastic Search的搜索服务器可以从页面返回搜索结果
    • 负责处理代码分析报告并将其保存在SonarQube数据库中的计算机引擎服务器
  2. SonarQube数据库存储:
    • SonarQube实例配置文件
    • 项目质量快照,视图等
  3. 多个SonarQube插件安装在服务器上,可能包括语言,SCM,集成,身份验证和治理插件
  4. 一或多个SonarQube扫描器在分析项目,运行在构建或持续集成的服务器上。

这里写图片描述

集成

下列模式显示了SonarQube如何与其他ALM工具集成,以及何处使用SonarQube的各种组件。

  1. 开发人员在IDE中编写代码,并使用SonarLint来运行本地分析。
  2. 开发人员将代码放在常用的代码管理工具(SCM),如:git,SVN,TFVC
  3. 持续集成服务器触发自动构建,并执行SonarQube扫描器以运行SonarQube分析
  4. 分析报告发送到SonarQube服务器并处理
  5. SonarQube服务器处理并存储分析报告到SonarQube数据库,并将结果显示在页面上
  6. 开发人员通过SonarQube页面来审查,评论,更新项目问题来管理和减少技术负债
  7. 管理员从分析器上接收分析报告
    • 运维人员利用API文档自动配置,从SonarQube上提取数据
    • 运维人员用JMX来监控SonarQube服务器
      这里写图片描述

关于机器和网络地址

  • SonarQube平台只能有一个服务器和一个数据库
  • 为了获得最佳性能,每个组件(服务器,数据库,扫描器)应安装在独立的机器上,该服务器机器应该是专用的
  • 通过添加机器扩展SonarQube扫描器规模
  • 所有的机器必须保证时间同步
  • SonarQube服务器和SonarQube数据库必须位于同一个网段里
  • SonarQube扫描器不必跟SonarQube服务器在同一个网段里
  • SonarQube扫描器和SonarQube数据库没有通信