问题描述
我到处都看到类似的例子:
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
}