fairlane.systems

GITLAB · TECH

GitLab: vollständige DevOps-Plattform mit CI/CD, Registry und Security

GitLab 17 als All-in-one-DevOps-Plattform. Community Edition MIT, Enterprise proprietär. Self-host oder Cloud. Sehr umfangreich, aber ressourcenhungrig.

Recherche & Faktencheck: · Stand: 2026-05

Was ist GitLab?

GitLab ist eine vollständige DevOps-Plattform – Git-Hosting plus CI/CD plus Container-Registry plus Security-Scanning plus Issue-Boards plus Wiki plus Monitoring plus Container-Orchestrierung. Das Projekt startete 2011 als GitHub-Alternative und wurde 2014 zur Firma GitLab Inc. (Nasdaq-Listing seit 2021). Mai 2026 in Version 17, ein etablierter Spieler mit zwei Editionen: Community Edition (CE, MIT-Lizenz, self-host frei) und Enterprise Edition (EE, proprietär, ab USD 29 pro User/Monat).

Community Edition vs Enterprise: die CE deckt ca. 80% der Features ab – Git, CI/CD, Issues, PRs, Container-Registry, Paket-Registry. EE fügt enterprise-spezifische Features hinzu: Multi-Region-Replikation, Audit-Events auf Compliance-Niveau, Advanced-Security-Scanning (SAST/DAST/Dependency), Code-Owner-Approval-Rules, Multi-Project-Pipelines, Push-Rules, Group-Level-Sicherheits-Dashboards.

Hosting-Optionen: (1) gitlab.com Cloud – Free-Tier mit 400 CI-Minuten/Monat, Premium ab USD 29/User/Monat, Ultimate ab USD 99/User/Monat. (2) Self-host Omnibus-Paket – alles in einem Debian/RPM-Paket oder Docker-Image. (3) Self-host Kubernetes-Helm-Chart – für grosse Setups mit horizontaler Skalierung.

Architektur: GitLab ist ein Rails-Monolith mit vielen Hilfsdiensten – PostgreSQL, Redis, NGINX, Sidekiq (Background-Jobs), Gitaly (Git-Server), Präfect (Gitaly-Cluster), Workhorse (HTTP-Proxy), Pages, Registry. Im Omnibus-Image alles vorintegriert. Das macht GitLab mächtig aber ressourcenhungrig – Mindestens 4 GB RAM im Leerlauf, 8 GB RAM für aktiven Produktiv-Einsatz.

Mai 2026 Status: GitLab 17 hat den Migration-Pfad zu Cells (Mehrmandanten-Architektur) angetrieben, Duo (AI-Assist) ist verfügbar, und die Free-Tier-Limits wurden gegenüber 2024 weiter eingegrenzt. Self-host CE bleibt für ernsthafte KMU-Setups die rationale Wahl, wenn die Hardware vorhanden ist.

Warum es zählt

GitLab löst für ein KMU mit 15+ Entwicklern oder strengen Compliance-Anforderungen ein spezifisches Problem: "wir wollen einen einzigen Vendor und einen einzigen UI für alles".

KMU-Tauglichkeit (Mai 2026) – bedingt: Für kleine Teams (1-10 Entwickler) ist GitLab Omnibus oft Overkill. Hardware-Bedarf (8 GB RAM Minimum), Lernkurve und Operations-Aufwand stehen in keinem Verhältnis zum Mehrwert. Für Teams ab 15 Entwicklern oder für Mandate mit strikten Compliance-Anforderungen wird GitLab sinnvoll: alles unter einem Dach, eine UI, ein Audit-Log, eine Berechtigungs-Hierarchie.

CH-DSG-Fit: vollständig erfüllbar bei self-host. GitLab CE läuft self-host auf Hetzner Falkenstein, alle Daten bleiben on-premise. Auditor-Zugriff via Read-only-User mit klar definierten Rollen. Bei gitlab.com Cloud: EU-Region nominell vorhanden, aber GitLab Inc. ist US-Firma – Auftragsverarbeitungs-Vertrag und Daten-Transfer-Folgenabschätzung Pflicht.

Vollständige Toolchain: einer der echten Vorteile. Statt Gitea + Woodpecker + Sentry + Trivy + Mattermost mit jeweils eigenem Login, Konfiguration und Update-Zyklus, deckt GitLab CE diese Domain ab. Für ein Mandat ist die Auswahl-Begründung einfacher: "wir haben GitLab, das macht alles".

CI/CD integriert: GitLab CI ist eingebaut, keine separaten Runner-Container nötig (obwohl möglich). Pipeline-Definition in .gitlab-ci.yml. Sehr ausgereift: Multi-Stage-Pipelines, Matrix-Builds, Approval-Gates, Secrets-Vault, Multi-Project-Pipelines, Dynamic-Child-Pipelines. Pipeline-Sprache reicher als GitHub Actions, aber auch komplexer.

Security-Features (EE): SAST (Static Application Security Testing), DAST (Dynamic), Dependency-Scanning, License-Compliance, Container-Scanning – alles eingebaut. Für regulierte Sektoren (Finanz, Versicherung, Gesundheit) ist das ein klarer Mehrwert. Allerdings ab Premium-Tier (USD 29/User/Monat).

Was GitLab nicht ist: kein schnelles Setup. Wer in einem halben Tag eine Git-Hosting-Lösung braucht: Gitea. Wer eine schlanke Open-Source-Toolchain ohne Lock-in will: Gitea + Woodpecker. GitLab ist die rationale Wahl, wenn die Anforderungen Vollkomplexität bereits diktieren.

Wie es funktioniert

GitLab Omnibus ist ein einziges Docker-Image (oder Debian/RPM-Paket) mit allen Komponenten vorintegriert.

docker-compose.yml-Beispiel für ein KMU-Setup:

```yaml services: gitlab: image: gitlab/gitlab-ce:17.0.0-ce.0 hostname: gitlab.firma.ch environment: GITLAB_OMNIBUS_CONFIG: | external_url "https://gitlab.firma.ch" gitlab_rails["smtp_enable"] = true gitlab_rails["smtp_address"] = "smtp-relay.brevo.com" gitlab_rails["smtp_port"] = 587 gitlab_rails["backup_keep_time"] = 604800 ports: - "443:443" - "80:80" - "22:22" volumes: - gitlab-config:/etc/gitlab - gitlab-logs:/var/log/gitlab - gitlab-data:/var/opt/gitlab restart: unless-stopped shm_size: "256m" volumes: gitlab-config: gitlab-logs: gitlab-data: ```

Erster Start dauert ca. 5-10 Minuten (Initialisierung von Postgres, Redis, Gitaly, Sidekiq). Danach Browser auf https://gitlab.firma.ch, Admin-Passwort aus /etc/gitlab/initial_root_password lesen, einloggen, Root-Passwort ändern.

Hardware-Anforderungen: GitLab dokumentiert offiziell als Minimum 4 vCPU + 4 GB RAM für bis zu 100 User. Realistisch für ein produktiv-laufendes Setup mit aktivem Team: 4 vCPU + 8 GB RAM + 50 GB Disk für Daten + 20 GB für Logs. Hetzner CCX23 (4 dedicated vCPU, 16 GB RAM, 160 GB SSD) ist die typische Standard-Wahl – ca. CHF 30/Monat.

GitLab Runner: für CI/CD braucht es Runner – separate Container/VMs, die Jobs ausführen. Ein Shared-Runner pro Instance ist Standard.

```yaml runner: image: gitlab/gitlab-runner:latest volumes: - /var/run/docker.sock:/var/run/docker.sock - runner-config:/etc/gitlab-runner restart: unless-stopped ```

Nach docker exec gitlab-runner register und Registration-Token aus der GitLab-UI.

Pipeline-Beispiel (.gitlab-ci.yml):

```yaml stages: [build, test, deploy] build: stage: build image: node:20 script: npm ci && npm run build artifacts: { paths: [dist/] } test: stage: test image: node:20 script: npm test deploy: stage: deploy image: alpine:latest script: - apk add openssh-client - ssh deploy@server "cd /app && git pull && npm ci && pm2 restart all" only: [main] ```

Backup: gitlab-backup create erstellt einen kompletten Tarball (DB plus Repos plus Uploads). Cron daily, Aufbewahrung 7 Tage, Off-Site-Kopie via rsync. Restore: gitlab-backup restore BACKUP=timestamp – wiederherstellbar in ca. 10-30 Minuten je nach Datengrösse.

Setup in 5 Schritten

  1. 01Hetzner CCX23 oder grosser (mindestens 4 dedicated vCPU, 16 GB RAM, 100+ GB SSD) bereitstellen, Subdomain gitlab.firma.ch DNS-mappen.
  2. 02docker-compose mit gitlab/gitlab-ce:17.0 starten, GITLAB_OMNIBUS_CONFIG mit external_url, SMTP-Config (Brevo), backup_keep_time setzen.
  3. 03Erster Start: Root-Passwort aus /etc/gitlab/initial_root_password auslesen, einloggen, Sign-up-Restriction aktivieren, 2FA für Admin verpflichtend.
  4. 04GitLab Runner deployen, registrieren mit Token aus Admin -> Runners, Executor docker wählen, Resource-Limits setzen (CPU 2, Memory 4 GB pro Job).
  5. 05Backup-Cron einrichten: gitlab-backup create täglich, rsync nach Hetzner-Storage-Box, monatlich Restore-Test in Staging-Umgebung.

Wann GitLab einsetzen

GitLab ist die richtige Wahl, wenn (a) das Team 15+ Entwickler hat, (b) Compliance-Anforderungen sehr detaillierte Audit-Trails verlangen, (c) eine einzige Plattform für Git/CI/CD/Registry/Security gewünscht ist, (d) Hardware-Budget für 8+ GB RAM Server vorhanden ist.

Konkrete Fälle: Eine SaaS-Boutique mit 20 Entwicklern und mehreren Mandanten-Plattformen – GitLab CE mit Multi-Project-Pipelines deckt das ab, ohne zusätzliche Lizenzen pro Tool. Eine Finanzberatung mit FINMA-naher Aufsicht – GitLab Premium mit SAST/DAST plus Audit-Events erfüllt die Anforderungen. Ein Konzern-Tochter mit 100+ Entwicklern, der von GitHub Enterprise weg will – GitLab Ultimate ist eine ernsthafte Migrationsoption.

Bei Fairlane läuft Gitea (nicht GitLab) – wir haben 1-3 Entwickler-Aktivität pro Tag, ein Single-Binary reicht. GitLab wäre Overkill. Wir sehen GitLab häufiger bei grösseren Mandanten (15-50 Entwickler) und in Branchen mit Compliance-Druck.

Wann NICHT

GitLab ist die falsche Wahl, wenn (a) das Team unter 10 Entwicklern liegt – Gitea reicht mit weniger Aufwand, (b) das Budget keine 16 GB RAM Hetzner-Hardware trägt – RAM-Hunger ist real, (c) die Operations-Erfahrung im Team für Multi-Service-Stacks (Postgres, Redis, NGINX, Sidekiq, Gitaly) fehlt – Updates und Recovery sind komplexer als bei Gitea, (d) Premium/Ultimate-Features (SAST, DAST, Audit-Events) nicht gebraucht werden – dann ist die CE-Funktionalität bei Gitea+Woodpecker mit weniger Komplexität erreichbar.

Fallen: GitLab Omnibus ohne Memory-Tuning auf 4 GB RAM laufen lassen – OOM-Kills sind die Folge, Workshops zu unicorn["worker_processes"] und sidekiq["concurrency"] sind dann nötig. GitLab-Updates aussetzen – Security-Patches häufig, Major-Upgrades alle 6 Monate sind Pflicht. Backup-Cron nicht testen – gitlab-backup restore ist nicht trivial, regelmässige Disaster-Recovery-Tests sind Pflicht.

Nicht empfohlen: GitLab CE plus diverse externe Tools parallel betreiben – die ganze Idee von GitLab ist die Integration, wer dann separate Sentry/Trivy/Mattermost-Instanzen daneben stellt, gibt den Hauptvorteil auf. GitLab.com Free als Produktiv-Backbone für KMU mit CH-Mandanten – Daten in den USA, kein Auftragsverarbeitungs-Vertrag im Free-Tier möglich.

Vor- und Nachteile

STÄRKEN

  • All-in-one: Git, CI/CD, Registry, Security, Issues in einer Plattform
  • CI/CD-Engine sehr ausgereift (Multi-Stage, Matrix, Multi-Project)
  • Community Edition MIT-lizenziert, vollständig self-host
  • Marktstandard für enterprise-grade DevOps mit klarer Roadmap

SCHWÄCHEN

  • Ressourcenhungrig – 4 GB RAM Minimum, realistisch 8-16 GB
  • Operations-Komplexität – Multi-Service-Stack mit eigenem Sidekiq, Gitaly, Workhorse
  • EE-Features (SAST, DAST, Audit-Events) hinter USD 29/User/Monat
  • Backup-Restore-Pfad komplex – Disaster-Recovery muss regelmässig getestet werden

Häufige Fragen

GitLab CE oder EE – was reicht für KMU?

Für 90% der KMU-Fälle reicht CE. Issues, PRs, CI/CD, Container-Registry, Paket-Registry, Sicherheits-Scanning auf Basis-Niveau – alles in CE. EE wird sinnvoll bei (a) Compliance-Anforderungen wie ISO 27001 oder FINMA-naher Aufsicht mit Audit-Trail-Pflicht, (b) Multi-Region-Replikation, (c) Advanced-Security (SAST, DAST, License-Compliance). Faustregel: unter 25 Entwickler und keine harte Audit-Pflicht – CE. Darüber: EE prüfen.

GitLab oder Gitea – wann macht der Wechsel Sinn?

Wechsel von Gitea zu GitLab macht Sinn, wenn das Team auf 20+ Entwickler wächst und (a) Multi-Project-Pipelines nötig sind, (b) Code-Owner-Approval-Rules durchgesetzt werden müssen, (c) Compliance-Audits den GitLab-spezifischen Audit-Trail verlangen. Bis dahin: Gitea bleibt die rationale Wahl. Wechsel ist machbar, aber CI/CD-Pipelines müssen neu geschrieben werden (Gitea Actions YAML zu GitLab CI YAML).

Wie viel kostet GitLab self-host realistisch?

Hardware: Hetzner CCX23 ca. CHF 30/Monat für KMU bis 50 User. Setup einmalig: 2-3 Tage inklusive nginx-Reverse-Proxy, Lets-Encrypt, SMTP, Backup-Cron, Runner-Setup. Laufender Pflegeaufwand: 4-8 Stunden pro Monat (Updates, Monitoring, Backup-Verify, gelegentliche Tunings). Erstes Jahr inklusive Setup: CHF 5000-10000. GitLab.com Premium vergleichbarer Scope: USD 29 pro User pro Monat – bei 15 Usern USD 5200/Jahr. Self-host gewinnt ab ca. Jahr zwei.

Was passiert bei einem GitLab-Outage?

Ohne HA-Setup: das Team kann während des Outages weder pushen, pullen, noch Issues bearbeiten. Lokale Git-Klone bleiben funktional – Code-Arbeit ist möglich, aber kein Code-Review und kein CI/CD. Recovery aus Backup üblicherweise 30-90 Minuten je nach Datengrösse. Empfehlung: monatlicher Restore-Test in Staging-Umgebung, damit der Pfad bei einem echten Outage geuebt ist. Für >25 Entwickler: HA-Setup mit zwei Knoten + Gitaly-Cluster prüfen.

Verwandte Themen

GIT & CI/CD · TOOL-VERGLEICHGit-Hosting und CI/CD im Vergleich: Gitea, GitLab, Forgejo, GitHub, Drone, Woodpecker, Jenkins, Act, ArgoCDGITEA · TECHGitea: leichtgewichtiger Self-host-Git-Server mit Gitea ActionsJENKINS · TECHJenkins: der CI-Veteran mit 2000+ Plugins, hoher Lernkurve, geringer ModernitätWOODPECKER CI · TECHWoodpecker CI: aktiver Drone-Fork als KMU-Standard für Gitea und ForgejoDOCKER · TECH-STACKDocker-Orchestrierung für KMU: docker-compose ohne Kubernetes-OverkillMANAGED · SERVICEManaged Service & Monitoring: Wir betreiben es weiter, Sie nutzen es

Quellen

  1. GitLab – Documentation · 2026-05
  2. GitLab – Pricing tiers · 2026-05
  3. GitLab Omnibus – Installation guide · 2026-04
  4. GitLab 17 – Release announcements · 2026-04

PASSEND ZU IHREM STACK?

Wie das in Ihrem Betrieb konkret aussieht – 30 Minuten Erstgespräch.

Erstgespräch buchen