SonarQube私有项目徽章显示的方法是什么

本篇内容主要讲解“SonarQube私有项目徽章显示的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SonarQube私有项目徽章显示的方法是什么”吧!

创新互联公司专注于企业全网营销推广、网站重做改版、和田县网站定制设计、自适应品牌网站建设、H5建站成都做商城网站、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为和田县等各大城市提供网站开发制作服务。

SonarQube 架构简介

SonarQube私有项目徽章显示的方法是什么

先简单了解下 sonar 的运行机制。如图,运行 SonarQube  app,其实同时运行了4 个进程,app 进程负责统筹调度其他三个进程,当有插件安装需要重新加载时, app 就可以发出重启的指令。下面是详细的描述:

  • App Process:用户操作的进程,这个进程是门面,由用户控制开启或者关闭。同时也是其他三个进程的调度器,开启 app 后,会自动启动 Es、web、ce 等进程。

  • Es Process:ElasticSearch 的进程,Sonar 将 Es 的发行包内置到了Sonar 中,作为独享的搜索引擎使用,issue ,代码等数据会被 es 管理起来。

  • Web Process:web 页面 、api 的进程

  • Ce Process:ce 全称 Compute Engine 。分析计算引擎,是 sonar 的核心

分析徽章的生成

如下,是一个获取 bugs徽章的链接,我们从这个链接开始,深入分析下,在 sonar 服务的内部是怎么生成这个徽章的。在分析前,先说明下,sonar 内部没有采用 spring mvc 等任何web 框架,是自己封装的一套mvc框架,数据库查询用的 mybatis。

https://qa-sonar.dev.com/api/project_badges/measure?project=server_services_developer_AXaIXEx52AMDJFWZUd_4&metric=bugs

SonarQube私有项目徽章显示的方法是什么

根据徽章资源的 /api/project_badges 找到徽章的web入口文件 ProjectBadgesService.java ,可以看到接口支持的入参情况。通过 action 模块名 measure 找到 MeasureAction.java ,生成徽章的主要逻辑都在这个里面,所在模块的目录结构如下:

SonarQube私有项目徽章显示的方法是什么

从这里得知,通过徽章链接获取到的 svg 图片,是通过 project_Id 实时查出来数据,实时生成的图片。并不是每次扫描都会生成静态图片资源。也在这个模块里找到了私有项目无法生成代码的逻辑。

实施方案

1、改社区代码去掉私有的限制

这个是最简单的,但是限制也比较多。改了代码需要自己发版,功能没法和社区同步。而且如果你使用的是付费的,这个路也行不通。

2、新建一个项目,自己生成 svg

尝试获取 sonar 的所有元数据信息,然后自己生成 svg 徽章,在 url 设计上,尽量保持和 sonar 自己的风格保持一致,用法也一样。生成的徽章的风格也保持一致

到此,相信大家对“SonarQube私有项目徽章显示的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


新闻名称:SonarQube私有项目徽章显示的方法是什么
本文链接:http://scyanting.com/article/pjggoe.html