【Sonar】——架构与集成

SonarQube是一款用于管理代码质量的平台,由SonarQube服务器、Web服务器、搜索服务器及计算机引擎服务器组成。它通过SonarQube扫描器进行代码分析,并将结果存储在数据库中供开发人员审查。SonarQube还能够与其他ALM工具集成,实现代码的质量管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

架构(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数据库没有通信
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值