jenkins: SonarQube task ‘AYjDZLbbX-IVjE3zisqb‘ status is ‘IN_PROGRESS‘

文章讲述了在Jenkinspipeline中使用waitForQualityGate函数时遇到的‘IN_PROGRESS’状态错误。解决方案是在代码扫描后添加30秒的延迟,并使用循环尝试获取质量门状态,直到状态变为OK或达到最大重试次数。如果质量门状态未通过,则会中断pipeline。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述: jenkins 使用 waitForQualityGate函数去获取代码质量扫描状态的时候,报错: SonarQube task ‘AYjDZLbbX-IVjE3zisqb’ status is 'IN_PROGRESS’

解决方法
1.在代码扫描完成后,sleep 30s

        stage('code质量扫描') {
            steps {
              withSonarQubeEnv('sonar') {
                container('sonar') {
                  sh 'sonar-scanner \
                        -Dsonar.projectKey=app01 \
                        -Dsonar.java.binaries=src \
                        -Dsonar.sources=.'
                  sh 'sleep 30'
                } 
              }
            }
        }
  1. 获取状态的时候,尝试多几次
    下面代码链接:https://blog.youkuaiyun.com/tengqingyong/article/details/123146458
script {
   					Integer waitSeconds = 10
         				Integer timeOutMinutes = 10
         				Integer maxRetry = (timeOutMinutes * 60) / waitSeconds as Integer
                       //  未通过代码检查,中断
                       for (Integer i = 0; i < maxRetry; i++) {
   			            try {
   			              timeout(time: waitSeconds, unit: 'SECONDS') {
   			              	//利用sonar webhook功能通知pipeline代码检测结果,未通过质量阈,pipeline将会fail
   			                def qg = waitForQualityGate()
   			                echo "${qg.status}"
   			                if (qg.status != 'OK') {
   			                  error "Sonar quality gate status: ${qg.status}"
   			                } else {
   			                  i = maxRetry
   			                }
   			              }
   			            } catch (Throwable e) {
   			              if (i == maxRetry - 1) {
   			                throw e
   			              }
   			            }
         				}
                   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值