Deployment (deutsch: Bereitstellung) bezeichnet den Prozess der Veröffentlichung und Installation von Software – entweder auf einem Server oder als ausführbare Version für Endnutzer. Es ist ein zentraler Schritt in der Softwareentwicklung, da erst durch das Deployment eine Anwendung tatsächlich genutzt werden kann.

Arten von Deployment

  • Manuelles Deployment: Installation durch Entwickler oder Administratoren
  • Automatisiertes Deployment: Bereitstellung durch Skripte, Tools oder Pipelines
  • Continuous Deployment: Vollautomatische Auslieferung nach erfolgreichem Test
  • Rolling Deployment: Schrittweise Veröffentlichung auf mehreren Servern

Typische Schritte beim Deployment

  1. Build der Software (Kompilierung, Paketerstellung)
  2. Testphase (automatisierte oder manuelle Tests)
  3. Hochladen auf den Server oder Verteilen an Nutzer
  4. Starten bzw. Aktualisieren der Anwendung
  5. Überwachung (Monitoring) nach dem Deployment

Werkzeuge & Konzepte

  • CI/CD-Pipelines (z. B. GitHub Actions, GitLab CI, Jenkins)
  • Docker, Kubernetes für containerisierte Anwendungen
  • Versionierung & Rollbacks
  • Blue-Green Deployment zur Ausfallsicherheit

Vorteile automatisierter Deployments

  • Weniger Fehlerquellen
  • Schnellere Auslieferung neuer Funktionen
  • Bessere Nachverfolgbarkeit (Logs, Versionen)

Siehe auch