Wir, bei der x-root Software GmbH, haben uns der agilen Softwareentwicklung verschrieben. Ein wichtiger Teil agiler Softwareentwicklung ist es, Feedback zeitnah zu erhalten und umzusetzen. Um das zu gewährleisten nutzen wir automatisierte Testverfahren, die uns schnell erkennen lassen, ob die Funktionalität der Anwendung auch nach der Durchführung von Änderungen am Code der Software noch gewährleistet ist.
Des Weiteren bietet es sich besonders bei größeren Features, die unter Umständen nicht zum Release der nächsten Version fertiggestellt werden können, an, mit Feature Branches zu arbeiten. Um Zeit zu sparen sollen diese automatisch getestet und anschließend selbsttätig auf eine Testumgebung aufgespielt werden, wo sie über das Web Frontend für eine weitere, manuelle Überprüfung erreichbar sein sollen.
Anforderungen an die Continuous Integration Pipeline
Die daraus resultierenden Anforderungen an die Continuous Integration (CI) und Delivery Pipeline sind:
- Automatische Durchführung der Pipeline bei Einreichen eines Merge Requests vom Feature Branch in den Hauptenwicklungszweig
- Dynamischer Auf- und Rückbau der Umgebung (Backend und Frontend)
- Alle Funktionen der Anwendung sollen manuell testbar sein
- Mehrere Merge Requests können gleichzeitig existieren, deshalb müssen auch mehrere Testumgebungen parallel und unabhängig voneinander bestehen können
- Erreichbarkeit der Testumgebung