Christian HändelCerti!ed TYPO3 IntegratorDeployment für AgenturenCase Study, Guideline und Tools
Christian HändelCerti!ed TYPO3 IntegratorCase Study: die medienagenten• Agentur mit 13 Mitarbeitern, 3 Geschäftsführer• Sp...
Christian HändelCerti!ed TYPO3 IntegratorDie Ausgangssituation Beginn 2012• Wenig Standards (TS-Framework)• Versionierung ...
Christian HändelCerti!ed TYPO3 IntegratorFreigabe!Go!Design!DeploymentDeployment?LiveKundePMGrafikVersionierung(SVN)
Christian HändelCerti!ed TYPO3 IntegratorNachteile• (-) Wenn Entwickler ausfällt, steht das ganze Projekt• (-) Kunde bleib...
Christian HändelCerti!ed TYPO3 IntegratorDer Aufräumprozess beginnt
Christian HändelCerti!ed TYPO3 IntegratorFreigabe!Go!Design!DeploymentDeploymentaahRepository(SVN/Git)DeploymentLiveTest
Christian HändelCerti!ed TYPO3 IntegratorVorteile• Fehler werden direkt auf dem Testsystem sichtbar• Das Live-System läuft...
Christian HändelCerti!ed TYPO3 IntegratorSchritt 1: Umstellung von SVN auf Git
Christian HändelCerti!ed TYPO3 IntegratorWarum?• Performanter: Datenübertragung erfolgt schneller, da nur dietatsächlichen...
Christian HändelCerti!ed TYPO3 IntegratorDie lokale Oberfläche• Kommandozeile?: Hilfreich aber keine ordentliche VisuelleDa...
Christian HändelCerti!ed TYPO3 IntegratorDie Serverumgebung• Serverumgebung mit ansprechender GUI• Geringe Investitionskos...
Christian HändelCerti!ed TYPO3 IntegratorSchritt2: ein einheitlicher Editor
Christian HändelCerti!ed TYPO3 Integrator• Einheitliches Interface für alle Arbeitsplätze• Schnellere Bearbeitung ohne unn...
Christian HändelCerti!ed TYPO3 IntegratorSchritt 3: die Entwicklungsumgebung
Christian HändelCerti!ed TYPO3 IntegratorDie richtige Software• Einheitlicher Standard für alle Entwickler• Mit wenigen Kl...
Christian HändelCerti!ed TYPO3 IntegratorSchritt 4: die Testumgebung
Christian HändelCerti!ed TYPO3 IntegratorBedingungen• Schnelle Lösung mit viel Performance• Alle gängigen Technologien müs...
Christian HändelCerti!ed TYPO3 IntegratorSchritt 5: das Deployment
Christian HändelCerti!ed TYPO3 IntegratorDie Software• Einfach zu bedienende Oberfläche, skalier- und beliebigerweiterbar•...
Christian HändelCerti!ed TYPO3 IntegratorSchritt 6: die Methoden
Christian HändelCerti!ed TYPO3 IntegratorFTP vol. 1 - „Push-all at Live“• Überträgt die kompletten Git-Ressourcen in den Z...
Christian HändelCerti!ed TYPO3 IntegratorSSH vol. 1 - „Put-all to Live“• Überträgt die kompletten Git-Ressourcen in den Zi...
Christian HändelCerti!ed TYPO3 IntegratorGit: „pull-at-Live“• (-) Benötigt ssh-Zugang und git-Unterstützung auf demZielsys...
Christian HändelCerti!ed TYPO3 IntegratorSSH vol. 2 : „rsync“• Führt einen rsync-Befehl aus• (+) Löscht nicht mehr vorhand...
Christian HändelCerti!ed TYPO3 IntegratorFTP vol. 2 - „full-backup“ - der Ablauf• Erstellt per FTP einen Ordner next• Push...
Christian HändelCerti!ed TYPO3 IntegratorFTP vol. 2 - „full-backup“ - Vor/Nachteile• (++) Kaum spürbare Ausfallzeit• (+) V...
Christian HändelCerti!ed TYPO3 IntegratorSchritt 6: die Prozesse
Christian HändelCerti!ed TYPO3 IntegratorRepository(Git)DeploymentLiveTest
Christian HändelCerti!ed TYPO3 Integratoreinheitliche Arbeitsweise schaffen• Ordnerstrukturen in Projektstandards integrie...
Christian HändelCerti!ed TYPO3 IntegratorFazit• Ermöglicht viele Automatisierungen die Arbeit abnimmt unddie Zusammenarbei...
Christian HändelCerti!ed TYPO3 IntegratorAlternative 1: „big-Player“
Christian HändelCerti!ed TYPO3 IntegratorWas ist anders?• Mehr Mitarbeiter (z.T. in verschiedenen Standorten)• Verschieden...
Christian HändelCerti!ed TYPO3 IntegratorVagrant Chef
Christian HändelCerti!ed TYPO3 IntegratorVagrant• Virtualisierungssoftware• Ausführbar in der Konsole und damit auf allen ...
Christian HändelCerti!ed TYPO3 IntegratorChef• Automationssoftware zur Standardisierten Ausführung vonBefehlen (Rezepte un...
Christian HändelCerti!ed TYPO3 IntegratorStandardisierter Ablauf• Entwickler lädt sich eine Minimalkonfiguration herunter(...
Christian HändelCerti!ed TYPO3 IntegratorAlternative 2: „small-Player“
Christian HändelCerti!ed TYPO3 IntegratorWas ist anders?• Sehr wenige Mitarbeiter (1-2)• Auf bestimmte Technologien beschr...
Christian HändelCerti!ed TYPO3 IntegratorDie Lösung: beanstalk• (+) Online-Portal inklusive Git• (+) Deployment-Prozesse i...
Upcoming SlideShare
Loading in...5
×

Deployment

1,329

Published on

Case Study, Guideline und Tools zum Thema Git, Jenkins und lokale Entwicklungsumgebung. Ich gebe eine Einführung wie die Firma die Medienagenten oHG einen Deploymentprozess eingeführt haben inklusive aller Stolpersteine

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,329
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Deployment

  1. 1. Christian HändelCerti!ed TYPO3 IntegratorDeployment für AgenturenCase Study, Guideline und Tools
  2. 2. Christian HändelCerti!ed TYPO3 IntegratorCase Study: die medienagenten• Agentur mit 13 Mitarbeitern, 3 Geschäftsführer• Spezialisiert auf die Weinbranche und den Pflegebereich• Entwicklungsabteilung mit 4 Entwicklern (1 Azubi)• Grafikabteilung mit 7 Grafikern (1 Azubi)• Web-Projekte aus drei Kategorien: Statische Webseiten,CMS gestützte Webseiten (TYPO3), Online-Shops (Magento)
  3. 3. Christian HändelCerti!ed TYPO3 IntegratorDie Ausgangssituation Beginn 2012• Wenig Standards (TS-Framework)• Versionierung inHouse• Zu diesem Zeitpunkt hohe Fluktuation im Entwickler-Team• Hoher Drang nach Innovation• Individuelle lokale Entwicklungsumgebungen
  4. 4. Christian HändelCerti!ed TYPO3 IntegratorFreigabe!Go!Design!DeploymentDeployment?LiveKundePMGrafikVersionierung(SVN)
  5. 5. Christian HändelCerti!ed TYPO3 IntegratorNachteile• (-) Wenn Entwickler ausfällt, steht das ganze Projekt• (-) Kunde bleibt die ganze Zeit ratlos• (-) Schwere Zusammenarbeit im Team• (--) Fehler werden erst im Live-System sichtbar• (--) Alle Zwischenschritte manuell• (---) Hohe Belastung von Zeit und Technik
  6. 6. Christian HändelCerti!ed TYPO3 IntegratorDer Aufräumprozess beginnt
  7. 7. Christian HändelCerti!ed TYPO3 IntegratorFreigabe!Go!Design!DeploymentDeploymentaahRepository(SVN/Git)DeploymentLiveTest
  8. 8. Christian HändelCerti!ed TYPO3 IntegratorVorteile• Fehler werden direkt auf dem Testsystem sichtbar• Das Live-System läuft immer auf einer stabilen Version• Automatisierte Prozesse ersetzen manuelle und damitfehleranfällige Teil-Schritte
  9. 9. Christian HändelCerti!ed TYPO3 IntegratorSchritt 1: Umstellung von SVN auf Git
  10. 10. Christian HändelCerti!ed TYPO3 IntegratorWarum?• Performanter: Datenübertragung erfolgt schneller, da nur dietatsächlichen Änderungen übertragen werden• Einfacher zu bedienen: es gibt mehr gute Tools, Befehle aufder Kommandozeile sind intuitiver• Breitere Community: hohe Bekanntheit durch Portale wiegithub und bitbucket
  11. 11. Christian HändelCerti!ed TYPO3 IntegratorDie lokale Oberfläche• Kommandozeile?: Hilfreich aber keine ordentliche VisuelleDarstellung• GUI mit intuitiver Steuerunggitboxapp.com/ www.git-tower.com/ www.atlassian.com/software/sourcetree
  12. 12. Christian HändelCerti!ed TYPO3 IntegratorDie Serverumgebung• Serverumgebung mit ansprechender GUI• Geringe Investitionskosten• InHouse installierbargitlab.org/ gitorious.org/https://enterprise.github.com/
  13. 13. Christian HändelCerti!ed TYPO3 IntegratorSchritt2: ein einheitlicher Editor
  14. 14. Christian HändelCerti!ed TYPO3 Integrator• Einheitliches Interface für alle Arbeitsplätze• Schnellere Bearbeitung ohne unnötigen Verbrauch vonSystemressourcen• StandardisierungWarum?www.sublimetext.com/ www.jetbrains.com/idea/ panic.com/coda/ www.aptana.com/
  15. 15. Christian HändelCerti!ed TYPO3 IntegratorSchritt 3: die Entwicklungsumgebung
  16. 16. Christian HändelCerti!ed TYPO3 IntegratorDie richtige Software• Einheitlicher Standard für alle Entwickler• Mit wenigen Klicks zu installieren• Erweiterbar über verschiedenste Modulewww.macports.org/ www.mamp.info/de/ www.eosgarden.com/en/products
  17. 17. Christian HändelCerti!ed TYPO3 IntegratorSchritt 4: die Testumgebung
  18. 18. Christian HändelCerti!ed TYPO3 IntegratorBedingungen• Schnelle Lösung mit viel Performance• Alle gängigen Technologien müssen unterstützt werden• Preis-/Leistungsverhältnis
  19. 19. Christian HändelCerti!ed TYPO3 IntegratorSchritt 5: das Deployment
  20. 20. Christian HändelCerti!ed TYPO3 IntegratorDie Software• Einfach zu bedienende Oberfläche, skalier- und beliebigerweiterbar• Zeitliche Steuerung der Automatismen• Alle Methoden müssen unterstützt werdengitlab.org/ jenkins-ci.org/
  21. 21. Christian HändelCerti!ed TYPO3 IntegratorSchritt 6: die Methoden
  22. 22. Christian HändelCerti!ed TYPO3 IntegratorFTP vol. 1 - „Push-all at Live“• Überträgt die kompletten Git-Ressourcen in den Zielordner• (+) Plugin in Jenkins vorhanden• (-) Überflüssiges wird nicht gelöscht• (--) Webseite kann z.T. nicht erreichbar sein• (--) Fehlerkorrektur sehr schwierig
  23. 23. Christian HändelCerti!ed TYPO3 IntegratorSSH vol. 1 - „Put-all to Live“• Überträgt die kompletten Git-Ressourcen in den Zielordner• (+) Plugin in Jenkins vorhanden• (-) Überflüssiges wird nicht gelöscht• (--) Webseite kann z.T. nicht erreichbar sein• (--) Fehlerkorrektur sehr schwierig
  24. 24. Christian HändelCerti!ed TYPO3 IntegratorGit: „pull-at-Live“• (-) Benötigt ssh-Zugang und git-Unterstützung auf demZielsystem• Führt auf dem Zielserver einen git pull aus undaktualisiert so die Daten• (+) extrem performant (je nach Anbindung an den git-Server)• (+) löscht und aktualisiert nur die Änderungen
  25. 25. Christian HändelCerti!ed TYPO3 IntegratorSSH vol. 2 : „rsync“• Führt einen rsync-Befehl aus• (+) Löscht nicht mehr vorhandene Daten• (+) Aktualisiert nur die Änderungen• (-) An Befehlsvorgabe auf dem Ziel-Server gebunden• (--) Kein Plugin für Jenkins vorhanden
  26. 26. Christian HändelCerti!ed TYPO3 IntegratorFTP vol. 2 - „full-backup“ - der Ablauf• Erstellt per FTP einen Ordner next• Pusht alle Daten in den Ordner next• Benennt den Ordner production in prev um (löscht ggf. prev)• Benennt den Ordner next in production um
  27. 27. Christian HändelCerti!ed TYPO3 IntegratorFTP vol. 2 - „full-backup“ - Vor/Nachteile• (++) Kaum spürbare Ausfallzeit• (+) Volles Backup vorhanden auf dem Live-System• (-) Doppelter Speicherplatz• (-) An Befehlsvorgabe auf dem Ziel-Server gebunden• (--) Langsame Übertragungen
  28. 28. Christian HändelCerti!ed TYPO3 IntegratorSchritt 6: die Prozesse
  29. 29. Christian HändelCerti!ed TYPO3 IntegratorRepository(Git)DeploymentLiveTest
  30. 30. Christian HändelCerti!ed TYPO3 Integratoreinheitliche Arbeitsweise schaffen• Ordnerstrukturen in Projektstandards integrieren• Struktur für branches festlegen• Guidelines für die einzelnen Schritte festhalten• Abläufe so kurz wie möglich
  31. 31. Christian HändelCerti!ed TYPO3 IntegratorFazit• Ermöglicht viele Automatisierungen die Arbeit abnimmt unddie Zusammenarbeit gerade in regional verteilten Teamsoptimiert• Deployment und Einrichtung muss kaufmännisch und von derSeite des Projektmanagement mit eingeplant werden• Relationale Datenbanken bleiben beim Deployment einerhebliches Problem und erschweren den gesamten Prozess(Eigenentwicklung)
  32. 32. Christian HändelCerti!ed TYPO3 IntegratorAlternative 1: „big-Player“
  33. 33. Christian HändelCerti!ed TYPO3 IntegratorWas ist anders?• Mehr Mitarbeiter (z.T. in verschiedenen Standorten)• Verschiedenste Technologien• Größere Fluktuation innerhalb des Projektes
  34. 34. Christian HändelCerti!ed TYPO3 IntegratorVagrant Chef
  35. 35. Christian HändelCerti!ed TYPO3 IntegratorVagrant• Virtualisierungssoftware• Ausführbar in der Konsole und damit auf allen bekanntenSystemen• Arbeitet mit VirtualBox• (+) Standardisiertes schnelles Arbeiten durch Vorlagen• (-) Benötigt große Ressourcen auf dem Lokalsystem
  36. 36. Christian HändelCerti!ed TYPO3 IntegratorChef• Automationssoftware zur Standardisierten Ausführung vonBefehlen (Rezepte und Kochbücher)• Ausführbar in der Konsole und damit auf allen bekanntenSystemen• Basiert auf Ruby• (+) Vorlagen reduzieren Konfigurationsaufwand auf einMinimum
  37. 37. Christian HändelCerti!ed TYPO3 IntegratorStandardisierter Ablauf• Entwickler lädt sich eine Minimalkonfiguration herunter(im Idealfall ebenfalls im Repository gespeichert)• Beim 1. Ausführen wird Chef aktiv und richtet die Installationauf der VirtualBox ein• Über den Startbefehl kann das System neu initialisiert werdenund arbeitet so mit den aktuellen Daten aus den Repositories• Über die hosts-Datei wird die VirtualBox zugänglich gemachtund kann so auch bearbeitet werden
  38. 38. Christian HändelCerti!ed TYPO3 IntegratorAlternative 2: „small-Player“
  39. 39. Christian HändelCerti!ed TYPO3 IntegratorWas ist anders?• Sehr wenige Mitarbeiter (1-2)• Auf bestimmte Technologien beschränkt• Einrichtungsaufwand ist nicht gerechtfertigt
  40. 40. Christian HändelCerti!ed TYPO3 IntegratorDie Lösung: beanstalk• (+) Online-Portal inklusive Git• (+) Deployment-Prozesse inklusive:• (++) Methoden sehr ausgereift (FTP, SSH)• (-) Kein kostenfreier Servicehttp://beanstalkapp.com/

×