Sonarqube分析代码并导出PDF分析报告

小柒博客 1 125,6209字数 652阅读2分10秒阅读模式

一、Sonarqube简介

sonar是一款静态代码质量分析工具,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,而且能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告;

sonar通过配置的代码分析规则,从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目,风险等级从A~E划分为5个等级;

同时,sonar可以集成pmd、findbugs、checkstyle等插件来扩展使用其他规则来检验代码质量;

注意:安装这里就不再阐述,可以参考我另外一篇文章:Linux安装与部署SonarQube

二、下载sonar-pdf-plugin插件

下载地址:https://gitee.com/zzulj/sonar-pdf-plugin/releases

1、这里我选择的是sonar-pdfreport-plugin-3.0.3.jar

jar包下载地址:https://gitee.com/zzulj/sonar-pdf-plugin/attach_files/484186/download/sonar-pdfreport-plugin-3.0.3.jar

注意:需要下载对应的版本,不同版本可能会出现不兼容、未知的情况。

2、上传sonar-pdf-plugin插件

把下载好的插件放到Sonarqube安装目录的extensions/plugins目录下,重启Sonarqube服务即可。

3、配置PDF导出插件

# 服务重启后可以看到配置页如下,PDF report为添加插件后新增页签。

填入Sonarqube管理员的username和password并保存,需要将原分析项目删除并重新分析项目。

4、创建测试项目

1)这里我们创建一个新令牌用来测试。

注意:这里以Java语言Maven项目为例,因为我这边没有其他语言的项目,其他语言的项目请自行测试

2)执行SonarQube扫描

进入要分析项目的根目录(当前目录下必须有pom.xml)cmd进入该目录下的命令界面执行mvn package sonar:sonar(旧版本可执行任意mvn命令后缀添加sonar:sonar进行代码分析,但较高版本sonar分析代码需要jar/war包)。

注意:需要mvn工具

mvn sonar:sonar \

-Dsonar.projectKey=Test \

-Dsonar.host.url=http://xxx.com \

-Dsonar.login=bd5695a663d82fac851e295fac3e43ccd3406136

3)成功分析代码并产出PDF会额外打印如下信息

4)下载PDF

点击项目下"更多 -->> Download Pdf Report",(对原有项目进行sonar扫描后才能输出pdf,之前的扫描结果不能输出pdf)

Sonarqube分析代码并导出PDF分析报告

# 成功下载PDF分析报告

5)错误问题汇总

1、出现 {"error":"Report is not available. At least one analysis is required after installing the plugin!"}

解决方法:重新扫描项目。

2、出现 Can't retrieve project info. Parent project node is empty. Authentication?

解决方法:版本下错了,下载SonarQube兼容的插件版本。

至此,Sonarqube导出PDF分析报告部署完毕。

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
微信号已复制
微信公众号
微信扫一扫,关注我!
weinxin
公众号已复制
小柒博客
  • 本文由 小柒博客 发表于 2021年1月21日 11:28:44
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.com/7857.html
    • 超人不会飞
      超人不会飞 0

      感谢

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    拖动滑块以完成验证