解决Sonarqube quality gate获取不到Sonarqube正确扫描结果的问题

简介: 在Jenkins pipeline中,一般都会用到Sonar-scanner来扫描代码,扫描完之后,把结果上传到SonarQube中,SonarQube把结果与质量阀进行对比,然后通过Sonarqube quality gate来判断这次扫描结果是成功还是失败。不少同学都遇到过Sonarqube quality gate 获得的最后结果不正确,明明SonarQube中的结果是success,而Sonarqube quality gate判断的结果是pending。这是怎么一回事呢?

问题

在Jenkins pipeline中,一般都会用到Sonar-scanner来扫描代码,扫描完之后,把结果上传到SonarQube中,SonarQube把结果与质量阀进行对比,然后通过Sonarqube quality gate来判断这次扫描结果是成功还是失败。

不少同学都遇到过Sonarqube quality gate 获得的最后结果不正确,明明SonarQube中的结果是success,而Sonarqube quality gate判断的结果是pending。

这是怎么一回事呢?

原因在于,SonarQube如果没有配置webhook的情况下,Sonarqube quality gate只会第一次主动去请求结果,如果这个时候SonarQube还没有分析完毕,那么就会返回一个in_progress.接下来,Sonarqube quality gate不会再去主动请求,而是被动等待webhook。如果没有配置webhook,那么就会进入一直等待的状态。

常用的解决方法有二:

1.在Sonarqube quality gate添加等待10秒的时间(治标不治本)

image.png

2.在SonarQube里添加Jenkins的webhook。(这种方法最好,不需要加等待时间)

image.png

添加之后。一切正常,可以正确获得Sonarqube的最新结果

image.png

目录
相关文章
|
XML JSON JavaScript
【前端】Vue项目中 JSON 编辑器的使用
【前端】Vue项目中 JSON 编辑器的使用
6710 0
|
网络协议 Java 应用服务中间件
【Spring Cloud系统】- 轻量级高可用工具Keepalive详解
【Spring Cloud系统】- 轻量级高可用工具Keepalive详解
1090 0
|
canal 关系型数据库 MySQL
Canal是怎么伪装成 MySQL slave?
Canal是怎么伪装成 MySQL slave?
10466 41
|
监控 Dubbo Java
超详细的Sentinel入门
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
超详细的Sentinel入门
|
机器学习/深度学习 人工智能 自然语言处理
国产AI神器Deepseek,本地离线使用教程!
国产AI神器Deepseek,本地离线使用教程!
2897 14
|
存储 Cloud Native 关系型数据库
【云原生】rancher2.6部署MySQL—2023.03
【云原生】rancher2.6部署MySQL—2023.03
971 0
|
数据可视化 Python
【100天精通Python】Day64:Python可视化_Matplotlib绘制误差线图、填充图、堆叠面积图,示例+代码
【100天精通Python】Day64:Python可视化_Matplotlib绘制误差线图、填充图、堆叠面积图,示例+代码
1328 0
Java 线程同步的四种方式,最全详解,建议收藏!
本文详细解析了Java线程同步的四种方式:synchronized关键字、ReentrantLock、原子变量和ThreadLocal,通过实例代码和对比分析,帮助你深入理解线程同步机制。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Java 线程同步的四种方式,最全详解,建议收藏!
|
编解码 人工智能 并行计算
阿里妈妈技术开源FLUX图像修复&蒸馏加速模型
本文介绍了阿里妈妈技术团队基于FLUX开发的Controlnet修复模型和蒸馏加速模型,填补了社区空白并提升了FLUX的实用性和效率。