Software-Applikationen durchlaufen verschiedene Lebenszyklen. Während die Entwicklung typischerweise 1-2 Jahre dauert, kann sich die Wartung über 10 Jahre oder länger hinziehen. Der Einzug der agilen Softwareentwicklung im letzten Jahrzehnt zeigt uns, wie wichtig das automatisierte Ausliefern von inkrementellen Applikations-Änderungen ist.

 

Auch bei älteren Wartungsprojekten müssen Change-Requests umgesetzt werden. Die Frage stellt sich, wie solche Änderungen möglichst einfach kompiliert, getestet und ausgeliefert werden können.

 

Als konkretes Beispiel beschreiben wir hier ein Wartungsprojekt für einen unserer Partner in der Telekommunikationsbranche. Dieses Projekt ist über 10 Jahre alt. Dazumal wurde entschieden, dass die Paketierung und die Integrations-Tests alle manuell ausgeführt werden. Im letzten Jahr haben wir den Auftrag erhalten, neue Monitoring-Features in die Applikation einzubauen sowie die Applikation in eine virtualisierte Umgebung auf neuen Servern zu migrieren.

Um diese Migration einfach zu halten, haben wir eine kontinuierliche Integration sowie ein kontinuierliches Deployment (CI/CD) aufgesetzt, durch das die Entwickler viel Zeit sparten.

 

Alle technischen Details dazu sind in diesem Beitrag Dev.to – From legacy projects to CI/CD pipelines (in Englisch)  zu finden.

Begriffserklärung Continuous Integration (CI) und Continuous Delivery und Deployment (CD)