2016-06-30 11 views
1

Ich versuche, einen Build in meinem Jenkins-Server mit dem Quality Gate-Plugin (v2.5) zu erstellen. In meinen jenkins habe ich SonarQube Plugin (v2.4.4) und SonarQube Scanner v2.6.1 installiert. Ich habe auch einen SonarQube Server konfiguriert v5.6 Ich habe ein Quality Gate (für zB Bugs> 10) in meinem Server für das Projekt definiert, das ich mit meinem Jenkins Server erstelle. Ich habe für Jenkins einen Freestyle-Job geschaffen. Was ich erreichen möchte ist, dass der Build in Jenkins fehlschlägt, wenn die Quality Gate-Anforderung nicht erfüllt wird. Ich verwende die Option "SonarQube-Scanner ausführen" in meinem Build-Schritt in Jenkins und die Quality Gate-Option in der Post-Build-Aktion (mit meinem Projektschlüssel). Ich habe die Parameter für die Sonaranalyse im Abschnitt Analyseeigenschaften definiert.Fehler beim Erstellen von Jenkins mit dem Quality Gate-Plugin

Momentan wird der Status nicht auf dem SonarQube-Server geändert, wenn der Qualitäts-Gate-Schwellenwert nicht erreicht wird. Der Build wird jedoch in Jenkins übergeben. Bei der nächsten Ausführung desselben Jobs in Jenkins ist der Build vom Quality Gate fehlgeschlagen. Das heißt, der Build-Status wird nicht synchron mit dem SonarQube-Server geändert, aber in der folgenden Ausführung,

Können Sie mir bitte sagen, was ich hier fehlt?

+0

Hallo! Hast du es gelöst? Ich habe das gleiche Problem, aber ich kann keine Antwort dafür finden. –

Antwort

1

es ist schon eine Weile her, seit du das geschrieben hast, aber vielleicht kann ich zumindest mit meinem Verständnis helfen.

In SonarQube 5.6 (weiß nicht, wann dies geändert wurde) wurde die Build-Analyse in einer Hintergrundaufgabe in SonarQube analysiert. Der Jenkins-Build ist also abgeschlossen, nachdem die Analyse auf dem Server veröffentlicht wurde und der Build abgeschlossen ist, lange bevor die Hintergrundaufgabe auf dem SonarQube-Server beendet ist.

Während oder am Ende der Hintergrundaufgabe in SonarQube wird das QualityGate überprüft.

So das Jenkins-Plugin bekommen immer "veraltet" QualityGate-Status mindestens mit SonarQube-Versionen höher als 5.6.

Es ist möglich, das Jenkins-Plugin zu erweitern und die Option "Auf Hintergrundaufgabe warten" hinzuzufügen. Natürlich würde dies zu längeren Bauzeiten in Jenkins führen. Dies geschieht bereits in this fork des "Quality Gates Plugin".

Hope this alles in Ordnung :-)

see the also the doku here