[Python-de] Retrospektive " Force stable trunk"

11/06/2015 - 10:41 von Thomas Güttler | Report spam
Hallo,

vor rund zwei Jahre hatte ich hier die Frage gestellt, wie man
einen stabilen git Trunk erzwingen kann:

https://mail.python.org/pipermail/p...03173.html

Viel Zeit ist seit dem vergangen und ich würde gerne die Ergebnisse
hier vorstellen.

Wir nutzen Jenkins als CI (Continous Integration) Zentrale.
Das ist nicht perfekt, aber funktioniert ganz gut und man
at eine ganz nette Web-Oberflàche.

Die Frage ist eigentlich: Was ist 'stabil'?

Wir verwenden den Begriff "Projekt" wie im Django-Umfeld:
Ein Projekt besteht eigentlich hauptsàchlich aus Konfiguration.

Der eigentliche Code ist in Bibliotheken (oder auch App, Lib genannt)

Zwischen Projekt und Bibliotheken besteht eine 1:N Beziehung.

Das git Repo des Projekts ist also recht klein. Hier ist die Konfig. Bei
Django ist das zB settings.py.

Es enthàlt möglichst wenige Conditions (if-Abfragen) oder Schleifen.

Ob nun eine Bibliotheken stabil ist oder nicht, ist das eine.

Das andere ist ob das Projekt mit den Bibliotheken zurechtkommt.

Es kann durchaus sein, dass ein Projekt nur stabile Bibliotheken
verwendet, aber das Ergebnis trotzdem nicht stabil ist.

Wichtig für uns ist darum das Gesamtergebnis, also das Projekt
zu testen. Und wenn alle Tests ok sind, dann werden die
Versionsnummer der verwendeten Bibliotheken hochgezàhlt.
Ein von Jenkins angeschobenes Script aktualisiert den Release-Branch
im Projekt.

Bis zum Update des Produktivsystem geht es dann in vier Stufen:

- Entwickler testen bei sich. Der Entwickler muss vor dem commit/merge
nicht zwingend alle Tests ausführen. Das dauert zu lange.

- CI Alle Tests werden auf Projektebene ausgeführt.
Enthàlt keine Daten aus dem Produktivsystem

- Test auf einem Integrationssystem. Hier wird auf einer Kopie dies Produktivsystems
gearbeitet.

- Produktivsystem

Das Produktivsystem wird aktualisiert, wenn die vorhergehenden Stufen ok sind.

Warum ich das hier schreibe?

Ich will mich damit für die Hinweise bedanken, dich ich hier auf der Liste erhalten habe.
Sie haben geholfen die aktuellen Weg zu finden. Und der funktioniert eigentlich
ganz gut.

Gruß,
Thomas

Thomas Guettler http://www.thomas-guettler.de/
 

Lesen sie die antworten

#1 Thomas PointedEars Lahn
19/06/2015 - 08:37 | Warnen spam
Thomas Güttler wrote:

vor rund zwei Jahre hatte ich hier die Frage gestellt, wie man
einen stabilen git Trunk erzwingen kann:

https://mail.python.org/pipermail/p...03173.html

Viel Zeit ist seit dem vergangen und ich würde gerne die Ergebnisse
hier vorstellen.



Damals war es hier off-topic und heute ist es das immer noch.

Wir nutzen Jenkins als CI (Continous Integration) Zentrale.



Wir auch. *Ohne* mit Python zu programmieren. Das Thema hat nàmlich mit
Python rein gar nichts zu tun.

Da Du von einer Liste, und nicht von einer Newsgroup schreibst, ist es für
mich nicht sinnvoll, die Diskussion technisch (mittels X-Post und F'up2)
umzuleiten. So kann ich Dir nur empfehlen, Dir ein zu Deinem Thema passende
Newsgroup oder ein passendes Webforum zu suchen.

Im deutschsprachigen Usenet wàre ersteres möglicherweise
<news:de.comp.lang.misc>. Siehe hierzu den Artikel „Die Newsgruppen der de-
Hierarchie“ in <news:de.newusers.infos>. *In der passenden Newsgroup* würde
ich mich dann auch an der ansonsten interessanten Diskussion beteiligen.

[…]
Warum ich das hier schreibe?



Du hast auch knapp zwei Jahre spàter das Konzept „Themenorientierung“ noch
nicht verstanden. Das war jetzt einfach.

Ich will mich damit für die Hinweise bedanken, dich ich hier auf der Liste
erhalten habe.



Du hast Hinweise erhalten; nicht wegen, sondern *trotz* Off-topic-Postens.
Die Hinweise waren auch allesamt off-topic.

HTH

PointedEars

Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.

Ähnliche fragen