Es scheint, als ob die Build Breaker Plugin nicht mehr mit SonarQube 5.2 kompatibel ist. Gibt es eine Alternative, um einen (VSO) Build fehlschlagen zu lassen, wenn ein Sonar-Gate nicht erfüllt wird oder das Build Breaker Plugin auf 5.2 aktualisiert werden soll?Erstellen von Breaker-Plugins mit SonarQube 5.2
Antwort
Es gibt (vorerst) kein Plugin, das den Build bricht, wenn Quality Gate nicht weitergegeben wurde SonarQube 5.2.
Aber für SonarQube 5.3+ können Sie wieder Build Breaker Plugin verwenden.
Von Mailingliste:
Breaking the build in SonarQube 5.2 (21/Okt/2015)
Fabrice Bellingrad: Die Build Breaker Plugin nicht für SQ 5.2+ verfügbar sein. Die Idee ist, ein Kernmerkmal zu entwickeln, um die Anwendungsfälle zu beantworten, die vorher von diesem Plugin abgedeckt wurden. Dies ist , was wir das "was wäre wenn" feature => https://jira.sonarsource.com/browse/SONAR-6763
Dieses Problem SONAR-6763 ist geplant für SonarQube 6.X nennen.
Beachten Sie, dass sich dieses Veröffentlichungsdatum verschieben kann. :) –
Das ist ziemlich enttäuschend. Darauf verlassen wir uns im Rahmen unserer kontinuierlichen Integration. Gibt es eine Rechtfertigung dafür, ein nützliches Feature zu entfernen? – jbarrus
Ich bin bei dir. Wir werden deshalb nicht auf 5.2 upgraden. Dies ist ein Muss beim Aufbau Ihrer kontinuierlichen Integrationsplattform! –
In SonarQube 5.2 haben wir einen alternativen Weg zur Verwendung des Web Service /api/events gefunden.
Anfrage Beispiel:
https://<sq-host>/api/events?categories=Alert&resource=<project_key>
Antwort Beispiel:
<events>
<event>
<id>50411</id>
<name>Red (was Green)</name>
<resourceKey>project_key</resourceKey>
<category>Alert</category>
<date>2015-09-29T22:38:44+0200</date>
<description>New Critical issues > 0 since previous analysis (2015 Sep 23), New Major issues > 0 since previous analysis (2015 Sep 23), New issues > 0 since previous analysis (2015 Sep 23)</description>
</event>
....
</events>
RED Status des Projekts Erkennung:
Um den RED-Status zu überprüfen, müssen Sie event
mit dem höchsten id
Wert in events
Liste von Antwort finden und dann überprüfen, dass name
dieses Ereignisses von Red
startet und wenn Sie es finden, müssen Sie fehlschlagen Build.
Eine solche Verifizierung kann nur auf dem CI-Server mit einem zusätzlichen Befehlszeilenschritt nach dem SQ-Schritt durchgeführt werden, oder es kann vom Build-Automatisierungssystem wie Maven oder Gradle durchgeführt werden.
Wir haben nicht versucht solche Umgehung noch in unserem Projekt, nur wegen mangelfreie Zeit, aber wir werden dies in naher Zukunft tun.
Die vorgeschlagene Lösung sollte nur als Workaround verwendet werden, bis die Ausgabe SONAR-6763 durchgeführt wird.
Zusätzliche Befehlszeilenschritte werden immer * vor * Sonar ausgeführt, daher kann dies nicht verwendet werden. – mirabilos
Mit SonarQube 5.3 wurde eine neue Quality Gates Web Service eingeführt, die aufgerufen und verwendet werden könnte, um den Build zu brechen.
Um die CI Build für einen ausgefallenen Quality Gate zu brechen, WS-API-Aufrufe in einer Schleife warten, bis die Verarbeitung beendet ist, und dann Quality Gate Web-Service-Check:
- Aufruf der ceTaskUrl Analyse und untersuchen den "Status" Wert:
- PENDING oder IN_PROGRESS - überprüfen Sie es später erneut
- fehlgeschlagenen oder abgebrochenen - den Build brechen?
- SUCCESS - vorwärts bewegen
- Anruf Quality Gate Web-Service für Status
Außerdem habe ich eine issue to enhance the VSTS Tasks with an option to automatically call this service.
Update: A recent PR hinzugefügt, um diese Funktion zu der VSTS Aufgabe (noch nicht erschienen)
Sie sagen nur "könnte verwendet werden" aber bitte beschreiben Sie auch das * wie *. – mirabilos
Siehe den Link, den ich erwähnt habe [Breaking the CI Build] (http://docs.sonarqube.org/display/SONAR/Breaking+the+CI+Build) oder auch die [VSTS Task implementation] (https: // github. com/Microsoft/vso-Agent-Aufgaben/Baum/Master/Aufgaben/SonarQubePostTest) für ein Beispiel. Ich glaube nicht, dass Sonar weitere Dokumentationen dazu veröffentlicht hat. Andernfalls sollten Sie sie direkt fragen, wenn Sie weitere Hilfe benötigen. –
Sie jetzt die SonarQube Build Breaker Plugin mit Version Sonarqube Version 5.3+ verwenden kann.
- 1. Doppelter Schlüssel Fehler mit Sonarqube 5.2
- 2. SonarQube 5.2, LDAP-Plugin 1.5: com4j.ComException
- 3. mit Argumenten [Laravel 5.2] Erstellen
- 4. SonarQube erstellen ein dynamisches Dashboard
- 5. Modell auf Laravel erstellen 5.2
- 6. projekt erstellen für sonarqube mit der rest-api/web-api
- 7. Berechnen von SonarQube-Ansichten mit Ant
- 8. Datenbankansicht im Migration Laravel erstellen 5.2
- 9. Sonarqube nicht importieren Fragen von OCLint berichtet
- 10. Hochladen von Bildern mit Laravel 5.2
- 11. Laravel 5.2 Datenbank aus der Migration erstellen
- 12. Wie erstellen und Bildvorlage mit Intervention Bild und Laravel 5.2
- 13. Laravel 5.2 Redirect in AuthController Methode erstellen
- 14. Laravel 5.2 - Passwort für Benutzer erstellen
- 15. Erstellen eines binären Installationspakets für CentOS 5.2
- 16. SonarQube Webserver mit IP dynamisch
- 17. Job von innerhalb eines anderen Jobs erstellen Laravel 5.2
- 18. ECLemma, sonarqube
- 19. SonarQube @NoArgsConstructor (Projekt Lombok)
- 20. SonarQube-Analyse-Modus: Vorschau vs Probleme
- 21. SonarQube Benutzerdefiniertes Widget
- 22. Erstellen/E-Mail-Berichte über die Analyse Update auf Sonarqube
- 23. Laravel 5.2 Hochladen von Datei mit Dateisystem
- 24. SonarQube - Hilfe beim Erstellen eines neuen Sprach-Plugins
- 25. Nach Sonarqube Upgrade 5.2 -> 5.6, WebServer ist nicht mehr funktionsfähig
- 26. WebSocket mit Laravel 5.2
- 27. Sonarqube Catch 22 mit serializable Listen
- 28. SonarQube Abhängigkeitsprüfung Sonar-Plugin
- 29. SonarQube 5.6 Authentifizierung LDAP-Gruppe
- 30. SonarLint Version mit Sonarqube C# -Plugin
Dieser Punkt wurde in der Google Group von SonarQube behandelt: https://groups.google.com/d/msg/sonarqube/gR07SqqAyQ/ulN2wdO4EQAJ –