In den meisten Software Projekten werden bereits Continuous Integration (CI) Systeme verwendet, um die Code Qualität zu sichern. Dafür werden Tests und statische Codeanalyse Tools automatisiert bei jedem Commit ausgeführt. So kann sichergestellt werden, dass ein Pull Request nur gemerged wird, wenn die Pipeline “grün” ist und somit alle für das Projekt definierten Qualitätsanforderungen erfüllt sind. Oftmals ist dieser Ansatz aber nicht ausreichend, da der Kunde oder die QA die neue Features einzeln in einer abgeschlossenen Umgebung testen und abnehmen möchten.
In diesem Vortrag geht es darum, wie wir mit der GitLab-CI automatisiert Review-Umgebungen für jeden Branch hochfahren. Daraus resultiert, dass ein Entwickler keine manuellen Review-Umgebungen mehr bereitstellen muss. Wir verwenden dazu die Tools Docker, Rancher und Traefik, um diese Instanzen zu verwalten. Zuerst werden wir es anhand eines Minimal-Beispiels praktisch nachvollziehen. Daraufhin werden wir eine Symfony App als Beispielprojekt nehmen, um einen komplexeren Workflow abzubilden.
Weiterhin werde ich unsere Erfahrungen einbringen, die wir mit unseren Kunden und Product Ownern gemacht haben, seitdem wir dieses Verfahren bei uns eingeführt haben. Zudem gehe ich noch auf ein paar technische Fallstricke ein, auf die wir gestoßen sind.