Continuous Delivery

 

DIE AUSGANGSLAGE

Anwendungen und Software-Produkte werden ständig weiterentwickelt und erweitert. Im Laufe der Lebenszeit einer Anwendung wächst dadurch neben dem Funktionsumfang auch die Komplexität. Anwendungen werden immer häufiger agil entwickelt. Dadurch können dem Kunden in kürzerer Zeit neue Versionen bereitgestellt werden. Dieser Wandel in der Softwareentwicklung macht es notwendig, Mechanismen zur Sicherstellung der korrekten Funktionsweise und der Code-Qualität zu automatisieren.

 

DIE LÖSUNG

Continuous Integration ist in vielen unseren Projekten im Einsatz. Die Unit-Tests werden durchlaufen und die Code-Qualität per statischer Analyse geprüft. Nur wenn diese Schritte erfolgreich waren, wird ein Feature-Branch in den Dev-Branch gemerged. Um diese Änderungen zeitnah für manuelle Tests und zu Demonstrationszwecken zur Verfügung stellen zu können, ohne dass ein Mitarbeiter sich aktiv darum kümmern muss, haben wir uns eine entsprechende Pipeline konfiguriert. Sobald ein Merge-Request erfolgreich in den Dev-Branch gemerged wurde, wird die CI/CD-Pipeline gestartet. Es findet eine erneute Prüfung der Unit-Tests und der Code-Qualität statt. Waren beide erfolgreich, wird die Anwendung auf unseren Testserver deployed.

 

DER ERFOLG UND NUTZEN

Der einmalig hohe Aufwand zum Einrichten von CI und CD-Pipelines wird kurzfristig amortisiert, dadurch das der manuelle Aufwand zum Bereitstellen von Testversionen stark minimiert wurde und die Qualität der Anwendung kontinuierlich geprüft wird. Kunden oder der Product Owner können so fortlaufend Testen und schnell ein Feedback zu den umgesetzten Funktionen geben. Durch die Automatisierung des Build-Vorgangs werden zuverlässige und wiederholbare Softwarepakete ohne Abhängigkeiten oder Besonderheiten von lokalen Entwicklungsumgebungen erzeugt.

Continous Delivery

„Jederzeit den aktuellen Entwicklungsstand live testen ohne das Entwicklungsteam zu unterbrechen“

Zurück