SonarQube не возвращает состояние waitForQualityGate () Дженкинсу? - PullRequest
0 голосов
/ 19 мая 2019

Я использовал sonarQube в конвейере Дженкинса.Я установил все плагины, связанные с sonarqube в Дженкинс.В системе настройки jenkins я правильно настроил сервер sonarqube и глобальную конфигурацию инструмента jenkins. Я правильно настроил сканер SonarQube.

Это код конвейера jenkins.

node{
stage('git checkout process'){
  echo 'started checkout'
  git 'https://github.com/ramkumar/sampleproject'
  echo 'completed sucessfully'
}

stage('compile package'){
  def mvnTool = tool name: 'Maven', type: 'maven'
  sh "${mvnTool}/bin/mvn clean install" 
}

  stage('SonarQube analysis') {
    withSonarQubeEnv('sonarqube') {
      mvnHome = '/opt/apache-maven/bin'
      sh "${mvnHome}/mvn sonar:sonar"

    }
  }

  stage("Quality Gate"){
          timeout(time: 1, unit: 'HOURS') {
              def qg = waitForQualityGate()
              if (qg.status != 'OK') {
                  emailext body: 'Your code was failed due to sonarqube quality gate', subject: 'Jenkins Failed Report', to: 'prakashpp666666@gmail.com'
                  error "Pipeline aborted due to quality gate failure: ${qg.status}"

              }
          }
      }

Я также настроил webhooksв сонаркубе.Но когда я создаю задание, 3-й этап waitForQualityGate () не возвращает статусу ok обратно Дженкинсу, а показывает Проверка состояния задачи SonarQube 'AWrQj5In7abK9JVZ9' на сервере 'sonarqube' Задача SonarQube 'AWrQj5In7abK9JVZ9статус «IN_PROGRESS»

, и он постоянно загружается, не завершается.Когда я регистрируюсь на сервере sonarqube, он показывает Ответ: сервер недоступен .Я не запускаю sonarqube на локальном компьютере, он работает на docker .В чем может быть проблема?

1 Ответ

0 голосов
/ 03 июля 2019

Попробуйте поставить sleep (60) команду перед проверкой:

sleep(60)
timeout(time: 1, unit: 'MINUTES') {
    def qg = waitForQualityGate()
    print "Finished waiting"
    if (qg.status != 'OK') {
        error "Pipeline aborted due to quality gate failure: ${qg.status}"
    }
}  

Это решило ту же проблему для меня.

...