Continuous Integration Webentwicklung der nächsten Generation
Grafik
Grafik Design!
Kunde Grafik Design!
Kunde Freigabe! Design! Grafik
Kunde Freigabe! PM Design! Grafik
Kunde Freigabe! Go! PM Design! Grafik
Kunde Freigabe! Go! PM Design! Grafik
Kunde Freigabe! Go! Deployment PM Design! Grafik
Kunde Freigabe! Go! Deployment PM Design! Live Grafik
Kunde Freigabe! Go! Deployment PM Design! Live Grafik
Kunde Freigabe! Go! Deployment PM Design! Deployment Live Grafik
? Kunde Freigabe! Go! Deployment PM Design! Deployment Live Grafik
? Kunde Freigabe! Go! Deployment PM Design! Deployment Live Grafik
? Versionierung (SVN/Git) Kunde Freigabe! Go! Deployment PM Design! Deployment Live Grafik
Nachteile
Nachteile Fehler werden erst im Live-System sichtbar
Nachteile Fehler werden erst im Live-System sichtbar Wenn Entwickler ausfällt, steht das ganze Projekt
Nachteile Fehler werden erst im Live-System sichtbar Kunde bleibt die ganze Zeit ratlos Wenn Entwickler ausfällt, steht das ganze Projekt
Nachteile Fehler werden erst im Live-System sichtbar Kunde bleibt die ganze Zeit ratlos Schwere Zusammenarbeit im Team Wenn Entwickler ausfällt, steht das ganze Projekt
Nachteile Fehler werden erst im Live-System sichtbar Kunde bleibt die ganze Zeit ratlos Schwere Zusammenarbeit im Team Alle Zwischenschritte manuell Wenn Entwickler ausfällt, steht das ganze Projekt
Repository (SVN/Git) Freigabe! Go! Deployment Design! Deployment Live
Repository (SVN/Git) Freigabe! Go! Design! Live
Repository (SVN/Git) Freigabe! Go! Design! Live
Repository (SVN/Git) Freigabe! Go! Design! Live
Repository (SVN/Git) Deployment Freigabe! Go! Design! Live
Repository (SVN/Git) Test Deployment Freigabe! Go! Design! Live
Repository (SVN/Git) Test Deployment Freigabe! Go! Design! Live
aah Repository (SVN/Git) Test Deployment Freigabe! Go! Design! Live
Vorteile
Vorteile Fehler werden auf dem Testsystem sichtbar
Vorteile Fehler werden auf dem Testsystem sichtbar Das Live-System läuft immer auf einer stabilen Version
Vorteile Fehler werden auf dem Testsystem sichtbar Das Live-System läuft immer auf einer stabilen Version Automatisierte Prozesse ersetzen manuelle und damit fehleranfällige Teil-Schritte
Vorteile Fehler werden auf dem Testsystem sichtbar Das Live-System läuft immer auf einer stabilen Version Automatisierte Prozesse ersetzen manuelle und damit fehleranfällige Teil-Schritte Gute Zusammenarbeit im Team
Vorteile Fehler werden auf dem Testsystem sichtbar Das Live-System läuft immer auf einer stabilen Version Automatisierte Prozesse ersetzen manuelle und damit fehleranfällige Teil-Schritte Gute Zusammenarbeit im Team Gerade für große Teams einsetzbar
Vorteile Fehler werden auf dem Testsystem sichtbar Das Live-System läuft immer auf einer stabilen Version Automatisierte Prozesse ersetzen manuelle und damit fehleranfällige Teil-Schritte Gute Zusammenarbeit im Team Gerade für große Teams einsetzbar Achtung!!! Zu Continous Integration fehlen noch zwei wichtige Schritte
Review-System
Review-System Zusammenarbeit verpflichtet: Auf dem Test-System müssen die Entwickler ihre Arbeit gegenseitig testen
Review-System Zusammenarbeit verpflichtet: Auf dem Test-System müssen die Entwickler ihre Arbeit gegenseitig testen Schafft eine geeignete Dokumentation, da Entwicklungsschritte nachvollzogen und rückgängig gemacht werden können
Review-System Zusammenarbeit verpflichtet: Auf dem Test-System müssen die Entwickler ihre Arbeit gegenseitig testen Schafft eine geeignete Dokumentation, da Entwicklungsschritte nachvollzogen und rückgängig gemacht werden können Nur in Kombination mit einem Repository sinnvoll und ausführbar
Review-System Zusammenarbeit verpflichtet: Auf dem Test-System müssen die Entwickler ihre Arbeit gegenseitig testen Schafft eine geeignete Dokumentation, da Entwicklungsschritte nachvollzogen und rückgängig gemacht werden können Nur in Kombination mit einem Repository sinnvoll und ausführbar Zahlreiche Software für diese Zwecke verfügbar (Jira, Trac, Mantis, Jenkins)
Back to the roots
Back to the roots Die Entwickler selbst müssen Bestandteil des Deployment-Prozesses sein
Back to the roots Die Entwickler selbst müssen Bestandteil des Deployment-Prozesses sein Ständiger Zugriff auf die Aktualisierung aller Änderungen
Back to the roots Die Entwickler selbst müssen Bestandteil des Deployment-Prozesses sein Ständiger Zugriff auf die Aktualisierung aller Änderungen Schneller und automatisierter Prozess
Repository (SVN/Git) Test Deployment Live
Repository (SVN/Git) Test Deployment Live
Repository (SVN/Git) Test Deployment Live
Repository (SVN/Git) Test Deployment Live
Repository (SVN/Git) Test Deployment Live
Repository (SVN/Git) Test Deployment Live
Vagrant Chef
Vagrant
Vagrant Virtualisierungssoftware
Vagrant Virtualisierungssoftware ausführbar in der Konsole und damit auf allen bekannten Systemen
Vagrant Virtualisierungssoftware ausführbar in der Konsole und damit auf allen bekannten Systemen Arbeitet mit VirtualBox
Vagrant Virtualisierungssoftware ausführbar in der Konsole und damit auf allen bekannten Systemen Arbeitet mit VirtualBox Vorteil: standardisiertes schnelles Arbeiten durch Vorlagen
Vagrant Virtualisierungssoftware ausführbar in der Konsole und damit auf allen bekannten Systemen Arbeitet mit VirtualBox Vorteil: standardisiertes schnelles Arbeiten durch Vorlagen Nachteil: benötigt große Ressourcen auf dem Lokalsystem
Chef
Chef Automationssoftware zur Standardisierten Ausführung von Befehlen (Rezepte und Kochbücher)
Chef Automationssoftware zur Standardisierten Ausführung von Befehlen (Rezepte und Kochbücher) ausführbar in der Konsole und damit auf allen bekannten Systemen
Chef Automationssoftware zur Standardisierten Ausführung von Befehlen (Rezepte und Kochbücher) ausführbar in der Konsole und damit auf allen bekannten Systemen basiert auf Ruby
Chef Automationssoftware zur Standardisierten Ausführung von Befehlen (Rezepte und Kochbücher) ausführbar in der Konsole und damit auf allen bekannten Systemen basiert auf Ruby Vorteil: Vorlagen reduzieren Konfigurationsaufwand auf ein Minimum
Standardisierter Ablauf
Standardisierter Ablauf Entwickler lädt sich eine Minimalkonfiguration herunter (im Idealfall ebenfalls im Repository gespeichert)
Standardisierter Ablauf Entwickler lädt sich eine Minimalkonfiguration herunter (im Idealfall ebenfalls im Repository gespeichert) beim 1. Ausführen wird Chef aktiv und richtet die Installation auf der VirtualBox ein
Standardisierter Ablauf Entwickler lädt sich eine Minimalkonfiguration herunter (im Idealfall ebenfalls im Repository gespeichert) beim 1. Ausführen wird Chef aktiv und richtet die Installation auf der VirtualBox ein über den Startbefehl kann das System neu initialisiert werden und arbeitet so mit den aktuellen Daten aus den Repositories
Standardisierter Ablauf Entwickler lädt sich eine Minimalkonfiguration herunter (im Idealfall ebenfalls im Repository gespeichert) beim 1. Ausführen wird Chef aktiv und richtet die Installation auf der VirtualBox ein über den Startbefehl kann das System neu initialisiert werden und arbeitet so mit den aktuellen Daten aus den Repositories über die hosts-datei wird die VirtualBox zugänglich gemacht und kann so auch bearbeitet werden
Fazit
Fazit Continuous Integration ermöglicht viele Automatisierungen die Arbeit abnimmt und die Zusammenarbeit gerade in regional verteilten Teams optimiert
Fazit Continuous Integration ermöglicht viele Automatisierungen die Arbeit abnimmt und die Zusammenarbeit gerade in regional verteilten Teams optimiert Der Konfigurationsaufwand für Vagrant und Chef lohnt sich jedoch nur ab einer gewissen Projektgröße und muss kaufmännisch und von der Seite des Projektmanagement mit eingeplant werden
Fazit Continuous Integration ermöglicht viele Automatisierungen die Arbeit abnimmt und die Zusammenarbeit gerade in regional verteilten Teams optimiert Der Konfigurationsaufwand für Vagrant und Chef lohnt sich jedoch nur ab einer gewissen Projektgröße und muss kaufmännisch und von der Seite des Projektmanagement mit eingeplant werden relationale Datenbanken bleiben beim Deployment ein erhebliches Problem und erschweren den gesamten Prozess (Eigenentwicklung)
Links und Quellen
Links und Quellen Vagrant http://vagrantup.com/
Links und Quellen Vagrant http://vagrantup.com/ Chef http://www.opscode.com/chef/
Links und Quellen Vagrant http://vagrantup.com/ Chef http://www.opscode.com/chef/ Wikipedia Beitrag zu kontinuierlicher Integration http://de.wikipedia.org/wiki/kontinuierliche_integration
Links und Quellen Vagrant http://vagrantup.com/ Chef http://www.opscode.com/chef/ Wikipedia Beitrag zu kontinuierlicher Integration http://de.wikipedia.org/wiki/kontinuierliche_integration Continous Integration von Duvall, Matyas, Glover, gebundene Ausgabe von 2007