解决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

目录
相关文章
|
SQL 安全 IDE
SonarQube使用介绍
SonarQube使用介绍
2076 0
SonarQube使用介绍
|
关系型数据库 MySQL Linux
SonarQube启动不了的问题解决
SonarQube启动不了的问题解决
SonarQube启动不了的问题解决
|
机器人 jenkins Java
jenkins pipeline流水线集成jacoco,sonar,robot framework,jmeter,fortify
jenkins pipeline流水线集成jacoco,sonar,robot framework,jmeter,fortify
jenkins pipeline流水线集成jacoco,sonar,robot framework,jmeter,fortify
|
2月前
|
Java 关系型数据库 MySQL
SonarQube安装的一箩筐错误整理
SonarQube安装的一箩筐错误整理
|
XML 数据可视化 jenkins
干货!Jenkins下配置findbugs、pmd及checkstyle实现代码自动检测
干货!Jenkins下配置findbugs、pmd及checkstyle实现代码自动检测
291 0
|
存储 缓存 Java
Sonar扫描之SonarScanner介绍
Sonar扫描之SonarScanner介绍
1105 0
|
jenkins Java 持续交付
jenkins+sonar+jacoco实现代码扫描UT覆盖率统计
网络上搜了一大堆文章,里面诸多错误,踩了很多坑,这里记录下防止下次踩坑。 注:这里不介绍jenkin服务、sonar服务的搭建
524 0
jenkins+sonar+jacoco实现代码扫描UT覆盖率统计
|
安全 Java Linux
SonarQube的安装和使用
SonarQube®是一款自动代码审查工具,可以检测代码中的bug、漏洞和代码气味。它可以与您现有的工作流集成,以支持跨项目分支和拉出请求的持续代码检查。 就是一个痛苦面具…… 哈哈,根据该工具定义的规则,对代码进行扫描~ 有这五种严重性和三种类型
293 0
|
jenkins 持续交付
jenkins整合sonarqube6.5代码扫描配置
jenkins整合sonarqube6.5代码扫描配置
jenkins整合sonarqube6.5代码扫描配置