Как получить статус качественных ворот от SonarQube в трубопроводе Jenkins? - PullRequest
0 голосов
/ 26 февраля 2019

Для приведенного ниже конвейерного сценария:

   stage('stage1'){

    withSonarQubeEnv(server){
            sh "${scannerHome}/bin/sonar-scanner"
        }
   }

stage1 запускает сканирование сонара и завершает работу с состоянием успеха.

stage2 ждет 30 минут до завершения сканирования сонараПредполагается, что Дженкинс получит статус QualityGate, как показано ниже.

   stage('stage2'){

        timeout(time: 40, unit: 'MINUTES') {
            def qGate = waitForQualityGate()
            if (qGate.status != 'OK') {
                error "Pipeline aborted due to quality gate failure: ${qGate.status}"
            }
        }
    }        

В Дженкинсе настроены сервер и сканер сонара.

Требуется ли дополнительная конфигурация для получениястатус качества ворот?

1 Ответ

0 голосов
/ 27 февраля 2019

Чтобы это работало, вам нужно:

  1. Sonarqube, использовать последнюю версию, LTS 6.7.x или 7.6
  2. плагин Sonarqube Jenkins в версии> = 2.6.1
  3. сканер Sonarqube, настроенный в Jenkins
  4. хост Sonarqube, настроенный в Jenkins для обеспечения
    withSonarQubeEnv(nameofyourconfiguredSonarHost) работы
  5. настройки веб-крюка на сервере Sonarqube:
    goto https://yoursonarhost/admin/webhooks и используйте этот URL
    https://yourjenkins/sonarqube-webhook/
    , запишите завершающий символ '/'!

После этого он должен работать как положено.По моему опыту достаточно 10 минут.
Возможно, необходимы дополнительные настройки, например, прокси или брандмауэр, чтобы иметь доступ к Jenkins из Sonarqube - это зависит от вашей сети.

...