SonarQube-Jenkins-代码问题或超时?这是问题

问题描述

我到处都看到类似的例子:

    timeout(time: 1,unit: 'MINUTES') { // Just in case something goes wrong,pipeline will be killed after a timeout
        def qg = waitForQualityGate() // Reuse taskId prevIoUsly collected by withSonarQubeEnv
        if (qg.status != 'OK') {
            setBuildStatus ("${context}","Sonarqube quality gate fail: ${qg.status}",'FAILURE')
            error "Pipeline aborted due to quality gate failure: ${qg.status}"
        } else {
            setBuildStatus ("${context}","Sonarqube quality gate pass: ${qg.status}",'SUCCESS')
        }    

我的问题是,SonarQube是否超时?我是否会给出超时或代码失败有不同的通知?如果测试期间超时怎么办?当然可以在质量门之前进行简单的http查询,但是在质量门期间是否失败? 有人对此有解决方案吗?

解决方法

如果要通过传递指定的时间来确定是否退出了“超时”块,则将“超时”块放在try / catch块中,并检查“ FlowInterruptedException”。

如果这是您的原始屏蔽:

x,y = data.shape[1:]

将其更改为:

timeout {
    ... do stuff
}