1. jenkins在代码扫描时sonar status is ‘PENDING’

如下报错,Checking status of SonarQube task 'XXXXXXX' on server 'sonar' SonarQube task 'XXXXXXXXX' status is 'PENDING'

sonar一直在pending状态,直到超时。原因是代码还在质量检测中,pipline就执行了waitForQualityGate()没有在sonar中添加jenkins webhook来反馈结果,所以有卡住的线性。有3种解决办法,第一种就是添加webhook反馈结果,这里不讲,也不是我的解决方案,其他2种。

1. 查看后台的运行时间,让waitForQualityGate() 在这个时间后执行,缺点:等待时间不确定。


pipline代码如下:

    withSonarQubeEnv('sonarqube') {sh "sonar-scanner -X;"sleep 5}if (this.waitScan) { // 就这这里添加延时,保证sonar后台执行完毕后在执行 waitForQualityGate()sleep 120timeout(time: 3, unit: 'MINUTES') { def qg = waitForQualityGate()String stage = "${env.stage_name}"if (qg.status != 'OK') {this.msg.updateBuildMessage(env.BUILD_TASKS, "${stage} Failed...  **×**")updateGitlabCommitStatus(name: "${stage}", state: 'failed')error "Pipeline aborted due to quality gate failure: ${qg.status}"} else {this.msg.updateBuildMessage(env.BUILD_RESULT, "${stage} OK...  **√**")updateGitlabCommitStatus(name: "${stage}", state: 'success')}}} else {echo "skip waitScan"} 
2. 获取sonar扫描的报告,查看是否通过 (我的解决方案)。
 withSonarQubeEnv('sonarqube') {sh "sonar-scanner -X;"sleep 5}if (this.waitScan) { //  sleep 120timeout(time: 10, unit: 'MINUTES') {//新增String authString = "${this.userName}:${this.passWord}"def reportFilePath = "target/sonar/report-task.txt"def reportTaskFileExists = fileExists "${reportFilePath}"if (reportTaskFileExists) {echo "Found report task file"def taskProps = readProperties file: "${reportFilePath}"echo "taskId[${taskProps['ceTaskId']}]"while (true) {sleep 20def taskStatusResult =sh(returnStdout: true,script: "curl -s -X GET -u ${authString} \'sonarqube:9000/api/ce/task?id=${taskProps['ceTaskId']}\'")echo "taskStatusResult[${taskStatusResult}]"def taskStatus = new JsonSlurper().parseText(taskStatusResult).task.status// Status can be SUCCESS, ERROR, PENDING, or IN_PROGRESS. The last two indicate it'sif (taskStatus != "IN_PROGRESS" && taskStatus != "PENDING" && taskStatus != "") {break;}}}String stage = "${env.stage_name}"this.msg.updateBuildMessage(env.BUILD_RESULT, "${stage} OK...  **√**")updateGitlabCommitStatus(name: "${stage}", state: 'success') }} else {echo "skip waitScan"}

K8S异常 sonar status is ‘PENDING’相关推荐

  1. K8S异常之Unable to update cni config err=no vaild network found in /etc/cni/net.d

    一.背景问题描述 我们在初始化k8s节点的时候,可能会遇到类似如下问题Unable to update cni config err=no vaild network found in /etc/cn ...

  2. rancher k8s集群pod一直处于Pending状态

    资源.docker.kubelet.调度器都没有发现问题 解决:到调度节点重启kubelet docker restart kubelet

  3. WIP Discrete Job or EAM Work Order remain stuck in Pending Close Status (文档 ID 158674.1)

    摘自:https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=184520598149910&id=158674.1&a ...

  4. k8s 组件介绍-API Server

    API Server简介 k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心. kub ...

  5. 播放失败246106异常代码_web前端面试题:您能读懂的Promise源码实现(手写代码)...

    Promise 是 web 前端工程师在面试的过程中很难绕过的一个坎.如果您目前处于对 Promise 一知半解,或仅仅是停留在可以使用的层面上,建议您跟着本文敲打练习一遍,相信您一定会有所收获!另外 ...

  6. 收藏丨运维良药,K8S日常故障处理集锦

    问题1:K8S集群服务访问失败? 原因分析:证书不能被识别,其原因为:自定义证书,过期等. 解决方法:更新证书即可. 问题2:K8S集群服务访问失败? curl: (7) Failed connect ...

  7. 万级规模 K8s 如何管理?蚂蚁双11核心技术公开

    阿里妹导读:Kubernetes 大幅降低了容器化应用部署的门槛,并以其超前的设计理念和优秀的技术架构,在容器编排领域拔得头筹.越来越多的公司开始在生产环境部署实践.本文将分享蚂蚁金服是如何有效可靠地 ...

  8. 备战双 11!蚂蚁金服万级规模 K8s 集群管理系统如何设计?

    戳蓝字"CSDN云计算"关注我们哦! 作者 |   沧漠 责编 | 阿秃 导读:Kubernetes 的出现使得广大开发同学也能运维复杂的分布式系统,它大幅降低了容器化应用部署的门 ...

  9. 备战双 11!96秒,100亿,支付宝万级规模 K8s 集群管理系统如何设计?

    2019年双11来了.1分36秒100亿,5分25秒超过300亿,12分49秒超500亿--全球最大流量洪峰54.4万笔,阿里巴巴核心系统全部上云... 背后的技术支撑到底是怎么样的呢? 导读:Kub ...

  10. 19 个 K8S 日常故障处理集锦

    问题1:K8S集群服务访问失败? 原因分析:证书不能被识别,其原因为:自定义证书,过期等. 解决方法:更新证书即可. 问题2:K8S集群服务访问失败? curl: (7) Failed connect ...

最新文章

  1. 寒冬之下,做好这六点
  2. linux学习笔记 (fork FILE PC)
  3. SQLServer跟踪相关
  4. 使用单元测试驱动开发的方式编写flask应用
  5. vue v-model计算器案例
  6. ZOJ 1606 Count the Colors (线段数染色)
  7. 本地化记录日志(写文件)
  8. UVA - 10635 —— Prince and Princess
  9. linux:云端 ubuntu下挂载数据盘
  10. 用计算机处理表格信息,怎么制作表格-三线表丨做数据表格必须学会的处理技巧...
  11. 零基础小白深度学习入门篇
  12. php微信测试号配置代码,微信测试号实现微信分享等功能【转载】
  13. 程序员上班刷简历!领导看见表示寒心竟还想挽留?
  14. Android简单的布局优化
  15. ZXing实现横竖屏扫描切换
  16. vue elementUI实现消息通知功能
  17. spi flash擦写调试记录
  18. Mac VScode配置C++环境
  19. (Java)类比学生管理系统做一个游戏管理系统(不含JDBC)
  20. 数据工程师的职业发展前景和现况

热门文章

  1. 51单片机:串口通信
  2. Java连接redis集群报错,connection refused 和Could not get a resource from the pool
  3. 电路实验一阶电路误差分析_动态电路分析
  4. ARX中各种坐标系及Transfrom操作相关
  5. 查询名字重复但不是相同的人的记录
  6. 机器学习—确定系数R2
  7. 青岛科技大学计算机历年真题,青岛科技大学计算机组成原理补考试卷(计算机)...
  8. python之Unitest框架
  9. 如何处理偶现的 Bug
  10. python用户画像_干货:如何构建用户画像