在安装完sonarqube 和 sonar-scanner 之后,试验可以正常扫描。需要要求还要生成PDF报告,并下载,功能看似简单,但生成PDF 却比较多问题。

1. 下载安装,这个问题不大,因为这个只是sonarqube的一个插件,通过连接下载插件:https://gitee.com/zzulj/sonar-pdf-plugin ,在统计版本中可以查到适合已安装的sonarqube 版本的版本,本次安装的是sonarqube7.5,可以下载的版本在3.0以上

2. 直接将jar 包丢到/sonarqube-7.5/extensions/plugins 下面

3. 重新启动sonarqube  , 登陆之后就可以看到增加了PDF的配置

4. 将原来的项目删除,然后重新进行扫描就可以有PDF了

正常是这样子的,可是头大开始

踩坑1: 扫描日志报错,明明已经生成了PDF,却在上传的时候说找不到。

解决方法:网上找了很久才在论坛里看到有人提到是配置的没对。Sonar ->配置->pdf report

这里搞混了配了数据库的登陆账号,然后把它换成sonar 的账号和密码,这里是否跳过要打开,不然会找不到文档,再重新扫描。

可是还是没找到PDF 跳过的日志。

踩坑2: pdf 确实是生成了,在服务器也找到了,可是下载却报错

解决方法:这个查找过程挺麻烦的,但是在之前的安装sonar时不停的掉进同一个localhost的坑里才有方向。

         网上一般安装sonarqube 和sonar-scanner都直接安装在/usr/local/下面,然后sonar.web.context=/sonar 这个会保留默认,所以它请求的时候直接,域名+ 端口就可以访问,但我安装的是在/usr/local/sonar/路径下,然后sonar.web.context=/sonar 这个也打开了,所以正常的访问方式是:域名+端口/sonar?这个样的。

    于是在下载的链接上/api/pdfreport/get?componentKey=TestEpay 前面增加 sonar ,变成/ sonar/api/pdfreport/get?componentKey=TestEpay , 然后请求下载就正常了。

         通过刷新查看页面信息,下载这个拼接也不是从环境变量里面取的,也不知道它取的是哪个参数,于是直接修改其他的部分

于是直接修改插件的js文件,让拼接的链接正确

    Linux 中解压jar 文件,因为会直接解压到当前文件,最好新建一个文件夹

    Jar –xvf sonar-pdfreport-plugin-3.0.2.jar

vim ./static/download.js

    重新压缩为jar包 jar cvf0M sonar-pdfreport-plugin-3.0.2.jar ./

然后替换原来的jar 包。

从新启动sonarqube , 查看页面元素

修改成功,点击download 下载成功。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐