SonarQube-詹金斯-代码问题还是超时?这就是问题所在



我在任何地方都能看到这样的例子:

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";。

如果这是您的原始区块:

timeout {
... do stuff
}

更改为:

import org.jenkinsci.plugins.workflow.steps.FlowInterruptedException;
try {
timeout {
... do stuff
}
}
catch (FlowInterruptedException ex) {
println "Caught "" + ex + "" waiting for quality gate."
}

最新更新