Reviews in Development Environments durch GitOps vereinfachen
Der primäre Fokus von GitOps liegt meist lediglich auf dem Management von Produktions- und Staging-Environments. Ein Aspekt, der häufig zu kurz kommt, ist, wie sich die eigentlichen Development Environments einrichten und verwalten lassen.
In GitLab lassen sich mit wenig Aufwand Review-Environments für jeden Feature-Branch erzeugen. Das heißt im konkreten Fall einer Web-App, dass für jeden erzeugt Merge Request, die Web-App in eine Umgebung bereitgestellt (deployt) wird, die sich für den Review nutzen lässt. Der Review erfolgt dann nicht nur rein über den Sourcecode. Er kann auch zusätzlich von nicht-technischen Personen übernommen werden, da sie die Live-Umgebung für den Feature-Branch einfach selbst testen und ausprobieren können, ohne jede einzelne Zeile Code verstehen müssen.
Es gibt verschiedene Wege, diese Review-Umgebungen aufzusetzen. Eine Möglichkeit ist, auch hierfür GitOps-Prinzipien zu nutzen. Das konkrete Beispiel im Vortrag fokussiert sich auf das Hochziehen von Infrastruktur mittels Terraform, der Installation von k3s für Kubernetes sowie dem Deployment der Web-App und der Integration mit GitLab. Es werden dabei Terraform und Ansible genutzt, um damit einen Kubernetes-Cluster betriebsbereit aufzustellen.
Vorkenntnisse
Grundlegendes Verständnis von GitOps und Kubernetes
Lernziele
- Verstehen und Nutzen von GitLab Review Environments für Feature-Branches
- Nutzen der Funktionen von GitLabs Terraform und GitLab Agent for Kubernetes für GitOps aus einem Guss