前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SonarQube 7.4 集成报告插件

SonarQube 7.4 集成报告插件

作者头像
高楼Zee
发布2021-07-14 11:14:17
3.8K0
发布2021-07-14 11:14:17
举报
文章被收录于专栏:7DGroup7DGroup
一、前言

本文总结目前两种常用的生成 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 以下帮助:

代码语言:javascript
复制
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 选项所取代。

代码语言:javascript
复制
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

四、小结

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 7DGroup 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、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、兼容矩阵
                • 四、小结
                相关产品与服务
                腾讯云代码分析
                腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档