DevOps & CI/CD

Zwischen "wir kopieren per Hand auf den Server" und einem Kubernetes-Cluster mit eigenem Platform-Team liegt viel vernünftige Mitte – und genau dort laufen die meisten mittelständischen Softwaresysteme.

Ich baue Deploy-Pipelines in genau dieser Größe: automatisiert, nachvollziehbar, zurückrollbar – ohne Orchestrierungs-Overhead, den niemand im Haus betreiben kann.

Die Bausteine

Deploy-Pipelines mit klarer Regel

GitHub Actions mit einer Konvention, die jeder versteht: Push auf main deployt Staging, ein Versions-Tag deployt Produktion. Kein manuelles Kopieren, keine "Wer hat zuletzt was eingespielt?"-Fragen – die Pipeline ist die einzige Route auf den Server.

Container & Registry

Anwendungen als Docker-Images, versioniert in einer Container-Registry (z. B. GHCR). Jeder Produktionsstand ist ein unveränderliches, getaggtes Image – dasselbe Artefakt in Staging und Produktion, reproduzierbar gebaut aus dem Git-Stand.

Reverse Proxy & TLS

Traefik als zentraler Einstiegspunkt: Routing zu den Containern, automatische Zertifikate über Let's Encrypt, Middleware für Basic-Auth und Redirects. HTTPS ist Standard, nicht Projekt – und ein neuer Dienst ist eine Konfigurationszeile, kein Wochenend-Einsatz.

Secrets-Management

Keine Passwörter, Tokens oder Schlüssel im Repository – Secrets liegen in der Umgebung (CI-Secrets, zentrale Umgebungsdatei auf dem Server), Konfigurationsdateien enthalten nur Platzhalter. Und wenn ein Secret doch einmal im Klartext stand: rotieren, nicht hoffen.

Infrastruktur als versionierte Konfiguration

Compose-Stacks, Proxy-Regeln und Deploy-Skripte liegen im Git – der Server ist Abbild des Repositories, nicht umgekehrt. Rollouts laufen als nachvollziehbarer Workflow; bei Infrastruktur-Änderungen bleibt bewusst ein Mensch der Auslöser.

Backups & Rollback

Automatisierte, verschlüsselte Backups als eigener Stack – inklusive dokumentiertem Wiederherstellungs-Ablauf. Und für die Anwendung selbst: Rollback heißt, einen früheren Image-Tag erneut zu deployen – ohne Neubau, in Minuten.

Ich betreibe das selbst – jeden Tag

Die deho-Infrastruktur läuft exakt nach diesem Muster. Kein Referenzprojekt aus zweiter Hand, sondern mein eigener Betrieb:

  • GitHub Actions mit selbst gehostetem Runner: Build in der Cloud, Deploy durch einen Runner auf dem Zielsystem – kein von außen offener Deploy-Zugang
  • Push = Staging, Tag = Produktion: Jeder main-Stand landet automatisch auf einer Staging-Umgebung hinter Basic-Auth; Produktion wird ausschließlich über Versions-Tags deployt
  • Rollback per Tag-Deploy: Ein manuell auslösbarer Workflow deployt jeden bestehenden Image-Tag aus der Registry (GHCR) erneut auf Produktion – ohne Neubau
  • Smoke-Tests nach jedem Deploy: Die Pipeline prüft direkt auf dem Server, ob die Anwendung antwortet – bei Staging inklusive Nachweis, dass der Basic-Auth-Schutz aktiv ist; schlägt der Test fehl, liefert sie die Container-Logs gleich mit
  • Traefik mit Let's Encrypt: Zertifikatsausstellung und -erneuerung laufen automatisch; Routing und Middleware liegen als versionierte Konfiguration im Git
  • Backups mit Restore-Plan: Verschlüsselte automatische Sicherungen, inklusive dokumentierter Wiederherstellung und durchgeführter Schlüsselrotation – ein Backup zählt erst, wenn der Rückweg geprüft ist

Genau dieses Muster – angepasst an Ihre Systeme, Ihre Umgebung und Ihr Team – ist das, was ich bei Kunden aufbaue.

Passende Größe statt maximaler Ausbau

  • Kein Kubernetes um des Kubernetes willen: Für viele Systeme sind Docker Compose, ein Reverse Proxy und eine saubere Pipeline die richtige Betriebsgröße – wartbar von dem Team, das Sie tatsächlich haben
  • Ehrliche Grenze: Den Betrieb großer Kubernetes-Cluster-Landschaften biete ich nicht als Kernleistung an – wächst Ihr Bedarf dorthin, sage ich das offen und helfe bei Architektur und Auswahl, statt es selbst zu behaupten
  • Übergabe statt Abhängigkeit: Pipelines und Infrastruktur-Konfiguration liegen in Ihrem Repository und sind dokumentiert – Ihr Team kann sie ohne mich weiterbetreiben
  • Betrieb hört nicht beim Deploy auf: Logs, Metriken und Alarme gehören dazu – mehr dazu unter Monitoring & Observability

Und wenn die Pipeline steht, geht es ums Dranbleiben: Review von Änderungen, technische Leitplanken, kontrollierte Weiterentwicklung – siehe Execution Governance.

Wie kommt Ihr Code heute auf den Server?

Wenn die Antwort ein Bauchgefühl ist statt einer Pipeline, lohnt sich ein Gespräch –
unverbindlich, 30 Minuten, kostenfrei.

Erstberatung vereinbaren (30 Min., kostenfrei)