Die Plattform nimmt dir das Deployment komplett ab. Du arbeitest ganz normal mit Git – alles, was nach dem Push passiert, ist bereits eingerichtet.
Das Branch-Modell
Du brauchst lokal nur zwei Arten von Branches:
main– der Hauptbranch. Was hier landet, wird automatisch auf den Dev-Server ausgerollt.- Feature-Branches – für jede Änderung ein eigener Branch, der per Merge Request zurück in
maingeht.
flowchart LR feature["Feature-Branch"] -->|"Merge Request"| mainBranch["main"] mainBranch -->|"Pipeline baut Docker-Image"| image["Docker-Image"] image -->|"automatisch"| devServer["Dev-Server"] image -->|"manueller Klick:<br/>publish-docker-prod"| prodServer["Prod-Server"]
Schritt für Schritt: eine Änderung entwickeln
- Feature-Branch anlegen:
git checkout main
git pull
git checkout -b feature/mein-feature
- Änderungen machen, committen und pushen:
git add .
git commit -m "feat: mein Feature"
git push -u origin feature/mein-feature
- In GitLab einen Merge Request nach
mainerstellen. Die Pipeline baut und prüft deinen Branch automatisch. - Merge Request mergen – fertig. Den Rest übernimmt die Plattform.
Was nach dem Merge passiert (Dev)
Sobald dein Code in main ist, läuft die Pipeline des Repositories automatisch durch:
update-version– berechnet die neue Versionsnummer.build-docker– baut das Docker-Image und legt es in der Registry ab.publish-docker-dev– trägt den neuen Image-Tag inconfigurations/dev/versions.yamldeinesgitops-configuration-Repositories ein.- Das GitOps-Repository deployt die neue Version daraufhin per Ansible auf den Dev-Server.
Du musst nichts tun – ein paar Minuten nach dem Merge ist der Stand auf Dev live. Den Fortschritt siehst du in GitLab unter CI/CD → Pipelines (im Code-Repository und im gitops-configuration-Repository).
Produktion ausrollen
Das Prod-Deployment ist absichtlich ein manueller Schritt – derselbe Build, der schon auf Dev läuft, wird per Klick freigegeben:
- Öffne in GitLab dein Code-Repository und gehe zu CI/CD → Pipelines.
- Öffne die Pipeline des
main-Stands, den du ausrollen willst. - Starte den Job
publish-docker-prodüber den Play-Button.
Der Job trägt den Image-Tag in configurations/prod/versions.yaml ein, und das GitOps-Repository rollt die Version auf den Prod-Server aus.
publish-docker-prod veröffentlicht genau den Stand der jeweiligen Pipeline. Prüfe vor dem Klick, dass die Änderung auf Dev wie erwartet funktioniert.Feature-Branches und Vorschau
Auch auf Feature-Branches baut die Pipeline ein Docker-Image (publish-docker-dynamic). So lässt sich ein Branch-Stand bei Bedarf in einer eigenen Umgebung testen, bevor er gemergt wird.
Siehe auch
- Erste Schritte – Projekt anlegen und lokal starten.
- Umgebungen & Variablen – wie Dev und Prod konfiguriert werden.
- Architektur – wie Pipelines, GitOps und Server zusammenspielen.