Situation:ableiten automatisch obligatorisch Sonarqube Eigenschaften von pom-Datei in Jenkins
Ich möchte mein Projekt mit Sonarqube (5.4) von Jenkins (1.642.4) ausgelöst analysieren. Es ist ein Java-Projekt, das mit Maven erstellt wurde.
Ich sehe zwei Möglichkeiten, um die Analyse zu triggern:
- Beitrag Build Action „Sonarqube Analyse mit Maven“ aber es ist veraltet, so will ich nicht, es benutzen
- Beitrag Schritt "Build SonarQube Scanner ausführen "ist der empfohlene Weg.
Problem:
Wenn ich die veraltete Beitrag Build Action werden die Eigenschaften für Sonar Projektkonfiguration automatisch aus dem Projekt pom abgeleitet.
Es verwende ich die empfohlene Beitrag Schritt beim Aufbau, erhalte ich die Ausnahme
Sie müssen die folgenden obligatorischen Eigenschaften für ‚Unknown‘ definieren: sonar.projectKey, sonar.projectName, sonar.projectVersion, sonar.sources
Unerwünschte Lösung:
die Lösung ist, die erforderlichen Eigenschaften, über sonar-project.properties Datei im Java-Projekt oder über Parameter in Jenkins Schritt.
IMHO: das ist Duplizierung. Alle relevanten Informationen sind im Maven pom definiert: projectKey kann von artifactId abgeleitet werden, projectName und projectVerstion sind dieselben Eigenschaften in maven. Vor allem die Projektversion ist kritisch. Ich möchte die Projektversion nach jeder Veröffentlichung nicht aktualisieren (oder Code in Release-Plugin schreiben, um es automatisch zu aktualisieren). Build-Schritt in Jenkins, ohne neu zu definieren alle Projekteigenschaften für all mein Projekt
Was ich
will ich will die empfohlene Post verwenden Sonar glücklich zu machen. Stattdessen sollte sonar/jenkins/plugin/was auch immer die Eigenschaften von meiner maven pom Datei ableiten. Gibt es ein zusätzliches Plugin, das ich verwenden kann? Kann ich mein Jenkins-Sonar-Plugin neu konfigurieren?
Ich möchte keine Sonar spezifischen Informationen in meinem Pom/Projekt zur Verfügung stellen, weil das Projekt Sonar nicht interessieren sollte. Es sollte nur Informationen enthalten, die zum Erstellen des Projekts erforderlich sind.
Vielen Dank für Ihre Antwort, aber in der verknüpften Dokumentation können Sie den folgenden Text sehen: "Die Post-Build-Aktion für Maven-Analyse ist veraltet. Die Post-Build-Aktion für Maven-Analyse ist veraltet." Leider entspricht diese Lösung nicht meinen Anforderungen. –
Sie missverstehen die Dokumentation: Was veraltet ist, ist die Post-Build ** Aktion **. Was in meiner Antwort und in der Dokumentation (unterhalb der Warnung) beschrieben wird, ist der empfohlene Weg, einen Standard-Maven-Build-Schritt (und Umgebungsvariable-Injektion) zu verwenden. Siehe hierzu [Illustration] (http://i68.tinypic.com/x4er8y.png). –
Sie haben Recht. Dieses Maven-Ziel wird als Post-Build-STEP ausgeführt. Daher bezieht sich die Abwertung nicht auf diese Lösung. Ich werde meine Antwort entfernen, denn wie Sie gesagt haben, ist es eine schlechte Idee wegen der nicht automatisierten Projektstrukturnutzung. Danke vielmals –