Sonar Quality Gate behavior in Jenkins pipeline is unstable
I have some pipelines in Jenkins, with the SonarQube stage (Version: 6.7.1, build 35068)
In some builds it is aborted due to time out:
12:19:01 Sleeping for 3 min 0 sec
[Pipeline] timeout
12:22:10 Timeout set to expire in 25 min
[Pipeline] waitForQualityGate
12:22:10 Checking status of SonarQube task 'XXXXXXXXXX' on server 'Sonar'
12:22:10 SonarQube task 'XXXXXXXXXX' status is 'PENDING'
12:47:10 Cancelling nested steps due to timeout
and in some other builds it pass:
13:56:47 Sleeping for 3 min 0 sec
[Pipeline] timeout
13:59:47 Timeout set to expire in 25 min
[Pipeline] {
[Pipeline] waitForQualityGate
13:59:47 Checking status of SonarQube task 'XXXXXXXXXX' on server 'Sonar'
13:59:47 SonarQube task 'XXXXXXXXXXXX' status is 'SUCCESS'
13:59:47 SonarQube task 'XXXXXXXXXXXX' completed. Quality gate is 'WARN'
Trigger command in bitbucket file:
stage('Sonar Quality Gate') {
sleep 180
timeout(time: 25, unit: 'MINUTES') {
def qg = waitForQualityGate()
if (!(qg.status == 'OK' || qg.status == 'WARN')) {
error "Pipeline aborted due to quality gate failure: ${qg.status}"
}
}
}
what might be the reason for it? how can I keep it stable? can it be network isssue?