解决服务器进行Sonar代码扫描无法生成PDF report问题Error: problem generating PDF file

目录

一. 引言
二. 系统环境
三. 问题分析

3.1权限问题
3.2 SonarQube服务问题
3.3 Compute Engine任务失败
3.4 网络问题
3.5 插件问题
3.6 服务器资源问题
3.7 配置问题
四. 问题解决
4.1. 检查sonarqube的权限
4.2 进行PDF report设置
4.3. 检查PDF插件版本
4.4 编写sonar 配置文件

一、前言

本篇文章主要讲一下作者在Linux系统中对代码进行sonar-scanner扫描过程中遇到的无法导出为pdf的问题。
在这里插入图片描述

二、系统环境

安装有sonarqube7.9.2.30863,scanner是4.2.0版本, Linux操作系统

三、问题分析

3.1 权限问题:如果SonarQube实例配置安全设置,确保执行PDF生成任务的用户具有适当权限。

3.2 SonarQube服务问题:可能是SonarQube服务本身问题,比如服务没有响应或存在内部错误。

3.3 Compute Engine任务失败:Compute Engine任务可能没有成功执行,导致状态无法获取。

3.4 网络问题:如果是分布式部署,可能存在网络问题导致SonarQube服务器无法与Compute Engine通信。

3.6 插件问题:PDF插件可能存在bug或者与当前SonarQube版本不兼容。

3.7:服务器资源问题:服务器可能由于资源不足(如内存或CPU)导致任务执行失败。

3.8 配置问题:SonarQube或PDF插件的配置可能不正确。

四、问题解决

要解决这个问题,主要进行了步骤调试:

  1. 检查sonarqube的权限,确保有execute analysis 的权限

在这里插入图片描述

  1. 检查PDF report:确保执行PDF报告过程前,Pdf.skip=true 修改为Pdf.skip=false,即关闭skip功能,对应修改为
    在这里插入图片描述
  2. 检查PDF插件安装正确:检查与SonarQube版本是否相匹配的sonar-pdf-plugin插件,其在SonarQube安装目录的extensions/plugins下,如果不匹配,则需要进行下载配置。并重启sonarqube服务。

4.检查sonar 配置文件:
文件位置
配置文件中需要包含以下信息:

#----- Default SonarQube server  
sonar.host.url=http://127.0.0.1:9000  
#----- Default source code encoding  
sonar.sourceEncoding=UTF-8  
#服务端的项目名称  
sonar.projectKey=sonar_project_name  
# 检查的代码路径  
sonar.sources=./src    
#创建项目时生成的令牌,但是也可以增加一个参数 password,通过用户名和密码进行扫描
sonar.login=e6c95f0690d586c9f86c0a3fff81d319164a8e93  
#sonar.password=admin 
#使用以下配置排除多个目录(逗号分隔的文件夹路径
#sonar.exclusions=public/**/*, test/**/*

观察到上述配置文件中不包含sonar.pdf的信息需要对其进行配置,添加如下代码:

sonar.username=admin
sonar.password=admin
Sonar.pdf.username=admin
Sonar.pdf.password=admin

则可生成sonar代码扫描的PDF report文件,问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值