Deployment Strategien: Git Pull vs. CI/CD vs. Blue-Green

Deployment-Strategien bestimmen, wie neue Versionen einer Anwendung auf Produktionssystemen bereitgestellt werden. Die richtige Strategie beeinflusst Ausfallzeiten, Rollback-Möglichkeiten und die Sicherheit des Web-Stacks. In diesem Leitfaden erfahren Einsteiger, IT-Studierende und Junior Network Engineers praxisnah, wie Git Pull, CI/CD-Pipelines und Blue-Green Deployments implementiert und verglichen werden.

Git Pull Deployment

Die einfachste Methode ist das direkte Ausrollen über Git. Der Server zieht die neuesten Änderungen aus dem Repository.

Vorteile

  • Schnelle Umsetzung und einfach zu konfigurieren
  • Direkte Kontrolle über den Server
  • Keine zusätzlichen Tools notwendig

Nachteile

  • Manuelles Eingreifen erforderlich
  • Kein automatisches Testen vor Deploy
  • Rollback nur manuell möglich
  • Abhängigkeit von Serverberechtigungen

Beispiel

ssh deploy@server.example.com
cd /var/www/app
git pull origin main
composer install --no-dev
npm install
npm run build
systemctl restart php-fpm
systemctl restart nginx

CI/CD Deployment

Continuous Integration/Continuous Deployment automatisiert das Testen, Bauen und Ausrollen von Anwendungen. Typische Tools sind GitLab CI, Jenkins oder GitHub Actions.

Vorteile

  • Automatisches Testen vor Produktion
  • Rollbacks automatisierbar
  • Mehrere Umgebungen (Staging, Production) einfach verwaltbar
  • Wiederholbare und konsistente Deployments

Nachteile

  • Setup erfordert zusätzliche Infrastruktur
  • Komplexität höher als Git Pull
  • Fehlerhafte Pipeline kann Produktionsausfall verursachen

Beispiel GitLab CI

stages:
  - test
  - build
  - deploy

deploy_production:
stage: deploy
script:
- ssh deploy@server.example.com 'cd /var/www/app && git pull origin main && composer install --no-dev'
only:
- main

Blue-Green Deployment

Blue-Green Deployments trennen aktive und inaktive Umgebungen. Die neue Version wird auf der inaktiven Umgebung installiert und getestet, bevor der Traffic umgeschaltet wird.

Vorteile

  • Minimale Downtime
  • Rollback einfach durch Umschalten auf die vorherige Umgebung
  • Tests können in Produktionsnähe erfolgen
  • Reduziert Risiko fehlerhafter Deployments

Nachteile

  • Höherer Ressourcenbedarf (doppelte Infrastruktur)
  • Komplexere Konfiguration von Load Balancer oder Reverse Proxy
  • Synchronisation von Datenbanken kann herausfordernd sein

Beispiel Nginx Umschaltung

upstream blue {
    server 10.0.1.10;
}

upstream green {
server 10.0.1.11;
}

server {
listen 80;
server_name app.example.com;

# Aktuell aktiv: blue
location / {
proxy_pass http://blue;
}

}

Bei Umschalten auf green:

location / { proxy_pass http://green; }

Netzwerk- und Subnetzplanung

Für Deployments über interne Netzwerke oder Jump Hosts ist eine saubere Segmentierung wichtig.

IPv4 Subnetz

<math>
Deploy-IP = 192.168.430.10/24
Subnetzadresse = 192.168.430.10 & 255.255.255.0 = 192.168.430.0
Broadcastadresse = 192.168.430.0 | ~255.255.255.0 = 192.168.430.255
</math>

IPv6 Subnetz

<math>
Deploy-IP = 2001:db8:abcd:430::10/64
Subnetzadresse = 2001:db8:abcd:430::0
Broadcastadresse = 2001:db8:abcd:430:ffff:ffff:ffff:ffff
</math>

Best Practices

  • Automatisierte Tests vor jeder Deployment-Strategie einplanen
  • CI/CD für konsistente Deployments bevorzugen
  • Blue-Green nur bei ausreichender Infrastruktur einsetzen
  • Rollback-Mechanismen einplanen
  • Netzwerksegmentierung für Deployments beachten
  • SSH-Keys für sichere Verbindungen verwenden
  • Logging und Monitoring der Deployments aktivieren
  • Staging-Umgebungen identisch zur Produktion aufbauen
  • Secrets und Konfigurationsdateien sicher verwalten
  • Regelmäßige Review der Deploy-Pipelines durchführen

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles