文章目录

  • 一、前言
  • 二、Sonar PDF Report Plugin
    • 1、介绍
    • 2、安装
    • 3、快速使用
      • 3.1、配置
      • 3.2、下载报告
  • 三、sonar-cnes-report
    • 1、介绍
    • 2、快速开始
    • 3、安装
      • 3.1、单机模型
      • 3.1、插件模式(自 2.2.0 起)
    • 4、帮助命令
    • 5、示例
    • 6、兼容矩阵
  • 四、小结

一、前言

本文总结目前两种常用的生成 SonarQube 结果报告的方法,以备查阅。

二、Sonar PDF Report Plugin

适用SonarQube版本 : 5.5–7.5。

  • 2.0.X:适用SONARQUBE5.5–5.6.7版本
  • 2.1.x:适用SONARQUBE6.0-6.2版本
  • 3.0.x:适用SONARQUBE6.3+

官网地址:https://gitee.com/zzulj/sonar-pdf-plugin

1、介绍

本插件生成 PDF 格式的 sonarqube 报告.

报告包括以下内容:

  • 概要

  • 静态分析

  • 动态分析

  • 编码问题

  • 热点:

    • 违反最多的规则TOP10
    • 违规最多的文件TOP5
    • 复杂度最高的文件TOP5
    • 重复行最多的文件TOP5
  • 违规详情

  • 子模块信息(只有在存在时生成)

2、安装

  1. 下载对应的版本,将插件复制到 SONARQUBE_HOME/extensions/plugins 目录
  2. 重启 SonarQube

3、快速使用

SonarQube PDF 是一个 post-job任务. 因此,PDF 报告将在SonarQube 分析结束后生成.

3.1、配置

配置 Skip 为“否”时生成 PDF 报告功能启用。

配置 Username 和 Password。如果出现 HTTP error: 401 或者 HTTP error: 403, msg: Forbidden,请查看该配置。

3.2、下载报告

5.x版本:PDF 在仪表盘中下载,如果没有下载界面,需要在“配置控件”中添加该控件

6.x 以及 7.x 版本:因为 UI 变化无仪表盘页面,在工程中 More 菜单下查看:

生成的报告内容如下:

三、sonar-cnes-report

1、介绍

插件可以将代码分析从 SonarQube 服务器导出为 docx、xlsx、csv、markdown 和文本文件。

该工具可以作为 JAR 可执行文件(使用命令行)或作为 Sonarqube 插件独立使用。

特性:

  • 将代码分析导出为一组文件
  • 导出代码分析配置
  • 使用自定义模板
  • 获取自定义的OpenXML (docx, xlsx)报告
  • 获得一个包含所有问题的动态透视表
  • 导出成法语或英语

官网地址:https://github.com/cnescatlab/sonar-cnes-report

2、快速开始

  • 设置一个SonarQube实例。
  • 使用sonar-scanner, maven, gradle, msbuild 等运行分析。
  • 执行cnesreport:
    • 在单机中,使用命令行
    • 在插件模式下,拷贝 jar 到 /opt/sonarqube/extensions/plugins,重启 sonarqube,然后点击 “More”>“CNES Report”。

3、安装

3.1、单机模型

Cnesreport 不需要任何安装。它是一个可移植的 Java 应用程序,可以根据下面的示例复制并运行它。唯一的要求是一个最新的JRE(>=1.8)。

3.1、插件模式(自 2.2.0 起)

  • sonar-cnes-report.jar 复制到 sonarqube 的插件文件夹中(在 linux 上路径应该是这样的 /opt/sonarqube/extensions/plugins
  • 重新启动 sonarqube(在Linux上:sudo service sonar restart

4、帮助命令

使用 java -jar cnesreport.jar -h 以获取有关 cnesreport 以下帮助:

usage: java -jar cnesreport.jar [-a <arg>] [-b <arg>] [-c] [-d <arg>] [-e] [-h] [-l <arg>] [-o <arg>] [-p <arg>] [-r <arg>][-s <arg>] [-t <arg>] [-v] [-w] [-x <arg>]
Generate editable reports for SonarQube projects.-a,--author <arg>                 Name of the report writer.-b,--branch <arg>                 Branch of the targeted project. Requires Developer Edition or sonarqube-community-branch-plugin. Default: usage of main branch.-c,--disable-conf                 Disable export of quality configuration used during analysis.-d,--date <arg>                   Date for the report. Format: yyyy-MM-dd. Default: current date.-e,--disable-spreadsheet          Disable spreadsheet generation.-f,--disable-csv                  Disable csv generation.-h,--help                         Display this message.-l,--language <arg>               Language of the report. Values: en_US, fr_FR. Default: en_US.-m,--disable-markdown             Disable markdown generation.-n,--template-markdown <arg>      Path to the report template in markdown. Default: usage of internal template.-o,--output <arg>                 Output path for exported resources.-p,--project <arg>                SonarQube key of the targeted project.-r,--template-report <arg>        Path to the report template. Default: usage of internal template.-s,--server <arg>                 Complete URL of the targeted SonarQube server.-t,--token <arg>                  SonarQube token of the SonarQube user who has permissions on the project.-v,--version                      Display current version.-w,--disable-report               Disable report generation.-x,--template-spreadsheet <arg>   Path to the spreadsheet template. Default: usage of internal template.Please report issues at https://github.com/cnescatlab/sonar-cnes-report/issues

5、示例

如果正在使用 SonarQube 的安全实例,可以通过 -t 选项提供一个 SonarQube 身份验证令牌,并使用 -s 指定 SonarQube 实例的url。文本报告的内部模板将被 -r 选项所取代。

java -Xmx1024m -Xms1024m -jar sonar-cnes-report.jar -t 6bc36088524a4d06e3e07e73ba419127cd90ff04 -s http://172.16.106.188:9088/ -p projectId  -r template.docx

生成的文件如下:

打开其中 word 的报告:

6、兼容矩阵

有关遗留版本,请在这里查看 wiki 页面 : Note on legacy versions

cnesreport
\
SonarQube
2.0.0
Standalone
2.1.0
Standalone
2.2.0
Standalone + Plugin
3.0.x
Standalone + Plugin
3.1.0
Standalone + Plugin
3.2.x
Standalone + Plugin
3.3.0
Standalone + Plugin
7.9.x (LTS) X X (Standalone only) X X X X
8.0 - - - - - X X
8.1 - - - - - X X
8.2 - - - - - X X

四、小结

通过简单的实验,我发现 sonar-cnes-report 报告的数据较 Sonar PDF Report Plugin 更为正确,推荐使用前者

SonarQube 7.4 集成报告插件相关推荐

  1. SonarQube 9.x集成Jenkins生成PDF扫描报告并通过邮件附件的方式发送;

    文章目录 前言 一.配置SonQube生成PDF扫描报告 1.下载gitee开源PDF插件到SonarQube的plugins目录下 2.重启SonarQube载入PDF插件 3.配置SonarQub ...

  2. Jenkins+Gitlab+SonarQube 代码质量管理集成

    Jenkins+Gitlab+SonarQube 代码质量管理集成 一.环境准备 1.1.JDK11环境安装 1.2.Docker环境下搭建SonarQube所需的PostgreSQL数据库 1.2. ...

  3. bootstrapDialog插件集成datatables插件遇到的异常

    bootstrapDialog插件集成datatables插件遇到的异常 参考文章: (1)bootstrapDialog插件集成datatables插件遇到的异常 (2)https://www.cn ...

  4. 如何在Cordova Android 7.0.0 以下版本集成最新插件 极光插件为例

    前提 Cordova Android 7.0.0开始改变了项目安卓平台的架构.新建一个空项目分别添加Android 6.4.0 和 Android 7.0.0平台: cordova platform ...

  5. 如何在Cordova Android 7.0.0 以下版本集成最新插件 极光插件为例 1

    2019独角兽企业重金招聘Python工程师标准>>> 前提 Cordova Android 7.0.0开始改变了项目安卓平台的架构.新建一个空项目分别添加Android 6.4.0 ...

  6. pythonidea_idea集成python插件

    idea集成python插件 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在继承安装Python插件时,请确认你是否安装Python解释器(Python官网:https://ww ...

  7. jenkins修改pom文件_动手实践:美化 Jenkins 报告插件的用户界面

    对于 Jenkins 而言,可使用插件来可视化各种构建步骤的结果.有一些插件可用于呈现测试结果.代码覆盖率.静态分析等.这些插件通常都会获取给定构建步骤的构建结果,并在用户界面中显示它们.为了呈现这些 ...

  8. Intellij IDEA社区版集成Maven插件

    Intellij IDEA社区版集成Maven插件 第一步: 打开Intellij IDEA , Preference -> Plugins , 搜索 Maven Intergration和Ma ...

  9. 在IDEA中集成Jenkins插件 解决Missing or bad crumb data异常

    在IDEA中集成Jenkins插件 由于项目组中使用jenkins作为持续集成工具,之前一直用web方式进行访问,感觉效率比较低下,所以想通过安装官方插件,直接在IDE上直接出触发Jenkins服务器 ...

最新文章

  1. JavaIO简单代码实例
  2. pcl中ransac提取直线_复杂场景中的一个图像配准思路
  3. [转载]:C#两种不同的存储过程调用方法
  4. 【OCR技术系列之五】自然场景文本检测技术综述(CTPN, SegLink, EAST)
  5. 拓端tecdat|R语言小数定律的保险业应用:泊松分布模拟索赔次数
  6. python多维列表索引越界怎么处理_python列表索引越界
  7. 常用的Unicode码表(汉字从A到Z、数字、英文)
  8. 网站运营的十二条盈利模式
  9. 第四批入围企业公示——年度TOP100智能网联供应商评选
  10. sqlserver中返回旬开始日期和结束日期的函数
  11. centos7搭建http代理ip TinyProxy 及验证是否有效(python)
  12. 高品质的3D建模和渲染软件——3Dmax!小白须知!
  13. hadoop启动命令 start-all.sh失效解决办法
  14. 如何用CSS实现百度浏览器官网的北极熊奔跑动画
  15. 实现文件导出功能(Excel文件形式):全部导出
  16. 发表论文查重率是多少?
  17. 解决搜狗输入法ctrl+shift+z 和phpstorm冲突的问题
  18. 大型HashMap评估:JDK、FastUtil、Goldman Sachs、HPPC、Koloboke与Trove
  19. sql 大于号小于号显示问题
  20. 简易六自由度弹道解算软件

热门文章

  1. 极客头条 |5月22日科技要闻:华为自研操作系统最快秋季面市;马化腾谈华为事件;微信支付回应遭封禁
  2. python爬取小说写入txt_Python爬虫爬取小说,并保存至本地文本文件中
  3. 挂脖式运动蓝牙耳机什么牌子的好、运动蓝牙挂脖耳机推荐
  4. MySQL语句执行过程
  5. 金连文:“文字检测与识别:现状及展望” | CAAI AIDL 演讲实录
  6. 回溯法填写九阶完美幻方
  7. python用设计模式吗_为什么Python不用设计模式?
  8. 2021冬-不靠谱的老板-使用 Siri 运行快捷指令
  9. C++并发实战4:thread object is movable,not copyable
  10. C# ASP.NET MVC模式 WPS的导入与导出的实现