[Python-de] Komplexe Jenkins Konfiguration - will man das?

Niko Wenselowski niko at nerdno.de
Mi Mai 4 02:34:32 EDT 2016


Hallo zusammen,

> Am 03.05.2016 um 10:04 schrieb Thomas Güttler <guettliml at thomas-guettler.de>:
> Ich habe gelesen, dass Jenkins2 Pipelines unterstützt. Siehe https://jenkins.io/doc/pipeline/
> 
> Ich frage mich gerade: Will man das?
Ich habe dieses Feature mit Neugierde aufgenommen und finde es spannend, aber gleichzeitig die Möglichkeiten aktuell noch einigermaßen limitiert.

Ich sehe aktuell keinen wichtigen Grund vorhandene Jobs auf Pipelines umzubauen. Mir fehlt besonders die Möglichkeit Multikonfigurationsprojekte abzubilden, um so gegen verschiedene Python-Versionen zu testen. Aktuell nutze ich dafür das Plugin von ShiningPanda.

Eine Möglichkeit ist hier vermutlich einen bereits existierendes Multikonfigurationssprojekt aufzurufen.
Die Möglichkeit vorhandene Projekte einzubinden ist in meinen Augen eine der Stärken der Pipeline. Dadurch muss nicht alles neu geschrieben werden, auf bewährtes kann ich zurückgreifen.

Was ich als eine sehr große Stärke der Pipelines empfinde ist die Darstellung. Ich habe einen lang laufenden Job, der Dokumentation in verschiedenen Sprachen und Formaten erstellt, testweise mit Pipelines umgesetzt.
Wer auf die Dokumentation wartet, kann sofort sehen an welcher Stelle gerade der Job beschäftigt ist - oder eventuell abgebrochen ist - und wie lange er vermutlich noch bis zum Ende benötigt.
Jenkins hatte vorher bereits eine Ansicht der Builddauer unter „Trends“, aber dort sah man weder einzelne Schritte, noch die Gesamtdauer, wenn ich einen Jobverbund hatte.

Interessant finde ich auch, dass man vorhandene Builds wiederholen kann. Ist mir das vorher nur nie aufgefallen oder existierte diese Möglichkeit im Kern wirklich nicht?


> Bisher versuchen wir die Konfig in Jenkins möglichst unkompliziert zu machen.
> 
> Jenkins ruft ein Script auf, und zeigt ggf das Ergebnis der Tests.
Ich denke das ist eine gute Idee. Verschiedene Schritte existieren bei uns als Scripte, so dass jeder Entwickler einfach die Tests laufen lassen oder Pakete für Deployments erstellen kann.

Eine weitere Limitierung der Pipelines ist übrigens, dass man keine Test-Ergebnisse und Coverage darstellen lassen kann. Das ist für mich bisher der Grund gewesen bei Jenkins zu bleiben und nicht zu Gitlab CI oder ähnlichem zu wechseln.

> Bin ich nun zu alt oder zu ignorant wenn ich mir sage: "Mich interessieren diese Pipelines
> überhaupt nicht“?
Nein, ich denke hier hängt es stark vom Anwendungsfall ab.
Wie 	Arnold geschrieben hat nutzt ihr im Prinzip schon Pipelines - nur eben nicht mit den Mitteln von Jenkins.


Gruß

Niko



Mehr Informationen über die Mailingliste python-de