Quality Gates in Sonar mit Jenkins Pipelines nutzen

Es ist in Sonar möglich „quality gates“ zu definieren. Damit kann die Qualität des Codes (oder des neuen Codes) gegenüber bestimmten Schwellwerten (Testabdeckung, Anzahl der Majors, etc.) überwacht werden (siehe https://docs.sonarqube.org/display/SONAR/Quality+Gates).

Wenn man den Sonar-Lauf von Jenkins aus startet, dann wäre es wünschenswert, dass das Ergebnis des Quality-Gates in das Ergebnis des Jenkins-Laufs übernommen wird. Glücklicherweise ist das mit dem neuen Pipeline-Konzept recht einfach.

Weiterlesen

Upgrade einer Jenkins-Landschaft

Wir setzen schon seit langem erfolgreich Jenkins ein, allerdings war unsere benutzte Jenkins-Umgebung veraltet. Jenkins selber und die Slaves liefen noch mit JDK6 und die Jenkins-Version war 1.456. Also „sehr“ alt. Schon das Einspielen neuer Plugins war im Prinzip unmöglich, weil diese in der Regel auf Java7 basierten. Mengenmäßig haben wir 20 Jenkins Slaves mit 27 Projekten und 200 Jobs. Die Projekte sind in unterschiedlichen Zuständen (gerade erst aufgesetzt, mitten in der Entwicklung, kurz vor der Release oder Wartungsmodus). Der normale Projektablauf sollte durch die Umstellung nicht behindert werden.

Wir haben uns entschieden, keine schleichende Migration zu machen, sondern komplett auf eine neue Jenkins-Version zu setzen und dabei gleich die JDK Version zu aktualisieren.

Weiterlesen

Sonar Migration

Sonar Migration

Das Problem

Häufig kommt es vor, dass ein Projekt von einer Sonar-Instanz in eine andere umziehen muss. Das kann ein aktuellerer Server oder eine andere Sonar-DB sein. Bei einem Umzug sind zwei Dinge wichtig: Die Historie sollte erhalten bleiben und besondere Einstellungen wie z.B. gekennzeichnete False Positives sollen übernommen werden.

Weiterlesen