Station wird geladen...
Ein leuchtender Stern mit Pipelines und Zahnrädern, symbolisch für CI/CD

Der Deploy-Stern

~8 Min.

Der Deploy-Stern strahlt bei jedem Build heller – aber jeder CI/CD-Run kostet Energie. Wie kannst du deine Pipelines effizienter gestalten?

Microlearning

Jedes Mal, wenn du pushst und eine CI/CD-Pipeline loslegt, startet irgendwo ein Server, installiert Dependencies, baut dein Projekt und führt Tests aus. Das braucht echte Rechenzeit auf echten Servern – und damit Strom.

Ingenieur startet Rakete von Stern-Plattform, Pipeline als Schweif
Ein durchschnittlicher GitHub Actions Run (Build + Test) dauert 2–10 Minuten. Bei 20 Pushes pro Tag in einem Team sind das schnell 200 Minuten Serverzeit pro Tag – nur für ein einziges Projekt.

Typische Energiefresser in Pipelines:

Docker Layer Caching kann Build-Zeiten um 50–80% reduzieren. Und pnpm statt npm spart bis zu 60% Speicherplatz und ist oft 2–3x schneller beim Installieren.

Green CI Practices:

GitHub bietet jedem Free-Konto 2000 Actions-Minuten/Monat. Wenn du die erreichst, ist das ein Zeichen, dass deine Pipelines zu verschwenderisch laufen.

Tat / Einstellung

Analysiere deine eigene Pipeline – wie effizient ist dein Build-Prozess wirklich?

Aufgabe 1: GitHub Actions prüfen

  • Öffne ein Projekt auf GitHub und gehe zu Actions
  • Zähle: Wie viele Runs liefen in der letzten Woche?
  • Wie lange dauert ein durchschnittlicher Run?
  • Gibt es Runs, die unnötig waren (z. B. nur Doku-Änderungen)?

Aufgabe 2: Caching einrichten

  • Öffne deine .github/workflows/*.yml Datei
  • Prüfe, ob actions/cache verwendet wird. Falls nicht, füge es hinzu
  • Nutze actions/setup-node@v4 mit cache: 'npm' für automatisches Node-Caching
  • Alternativ: Manuelles Caching mit actions/cache@v4 auf node_modules

Aufgabe 3: Concurrency einrichten

  • Füge in deinem Workflow concurrency hinzu, damit alte Runs abgebrochen werden, wenn ein neuer Push kommt
  • Setze cancel-in-progress: true, um laufende Jobs bei neuem Push zu stoppen
  • So vermeidest du doppelte Builds auf dem gleichen Branch

Reflexion

Ist es besser, schnell und oft zu deployen – oder seltener und bewusster?

Die DevOps-Kultur sagt: «Ship early, ship often.» Aber das heisst nicht, dass jeder Commit sofort in die Pipeline muss. Batching von Änderungen, bewusste Push-Zeitpunkte und gute Branch-Strategien können die Anzahl der Runs drastisch senken – ohne dass die Qualität leidet. Es geht um den Sweet Spot zwischen Agilität und Ressourcenbewusstsein.

Challenge

Optimiere eine CI/CD Pipeline

  1. Dependency Caching hinzufügen
  2. Conditional Builds mit paths-Filter einrichten
  3. Concurrency mit cancel-in-progress aktivieren
  4. Von npm auf pnpm wechseln

Dokumentiere die Build-Zeit vorher vs. nachher.

Kontrollfrage

← Zurück zur Karte