Erweitert

Architektur

Wie GitLab, CI/CD-Pipelines, GitOps und deine Server auf der Application Platform zusammenspielen.

Auf dieser Seite

Diese Seite erklärt, was die Plattform für dein Projekt im Hintergrund betreibt – nützlich, wenn du verstehen willst, wo dein Code liegt, wer ihn baut und wie er auf den Server kommt.

Überblick

flowchart TB
  user["Du"] -->|"konfiguriert Projekt"| platform["Application Platform<br/>(app.application-platform...)"]
  platform -->|"generiert Repositories"| gitlab["GitLab<br/>(gitlab.doppelt-digital.com)"]
  user -->|"git push"| gitlab
  gitlab -->|"CI/CD-Pipeline baut"| image["Docker-Image"]
  image -->|"Image-Tag eintragen"| gitops["gitops-configuration"]
  gitops -->|"Ansible-Deployment"| server["Dev- / Prod-Server"]
  gitlab -.->|"Fehler-Reports"| sentry["Sentry<br/>Error-Tracking"]

Die Bausteine

Baustein Aufgabe
Application Platform Oberfläche zum Anlegen von Organisationen, Projekten, Servern, Domains, Workspaces und Zugängen.
GitLab Selbst gehostetes GitLab unter gitlab.doppelt-digital.com – hier liegen alle Repositories deines Projekts, hier laufen die Pipelines.
Code-Repositories App-, Homepage- und Backend-Repositories mit fertigen CI/CD-Pipelines, startbar über die ap-CLI.
gitops-configuration Beschreibt pro Umgebung (Dev/Prod), welche Versionen mit welcher Konfiguration laufen. Deployt per Ansible auf deine Server.
local-configuration Workspace-, IDE- und KI-Agent-Konfiguration für ein einheitliches Entwickler-Setup.
Server Eigener Linux-Server oder Managed Hosting – die Plattform richtet ihn automatisch ein (Docker, Reverse Proxy, Deploy-Zugang).
Workspace-VMs Optionale, fertig eingerichtete Entwicklungs-VMs – siehe Workspaces.
Sentry Error-Tracking, bei jedem generierten Projekt vorkonfiguriert.

Vom Code zum Server

Der Weg einer Änderung ist immer derselbe:

  1. Du pushst auf einen Branch, die Pipeline baut und versioniert ein Docker-Image.
  2. Nach dem Merge in main trägt die Pipeline den neuen Image-Tag im gitops-configuration-Repository ein.
  3. Das GitOps-Repository rollt den Stand per Ansible auf die Zielumgebung aus – Dev automatisch, Prod per Klick.

Die Details mit allen Job-Namen stehen unter Git-Workflow & Deployment.

Repository-Struktur eines Projekts

orgs/<organisation>/<projekt>/
├── backend/                  # z. B. NestJS-API mit Docker-Setup
├── <app>/                    # z. B. Flutter-App (auch mehrere möglich)
├── <homepage>/               # z. B. Hugo-Site
├── gitops-configuration/     # Deployment-Konfiguration Dev/Prod
├── local-configuration/      # Workspace- und IDE-Setup
└── gitlab-profile/           # Projekt-Dokumentation

Welche Repositories existieren, hängt davon ab, welche Komponenten du beim Anlegen des Projekts gewählt hast.

Siehe auch