• Save
Deployment
Upcoming SlideShare
Loading in...5
×
 

Deployment

on

  • 1,367 views

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 ...

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

Statistics

Views

Total Views
1,367
Views on SlideShare
846
Embed Views
521

Actions

Likes
1
Downloads
0
Comments
0

2 Embeds 521

http://www.typo3camp-stuttgart.de 517
https://twitter.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Deployment Deployment Presentation Transcript

  • 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• 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)
  • 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
  • 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 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
  • 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 immer auf einer stabilen Version• Automatisierte Prozesse ersetzen manuelle und damitfehleranfällige Teil-Schritte
  • 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 Ä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
  • 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
  • Christian HändelCerti!ed TYPO3 IntegratorDie Serverumgebung• Serverumgebung mit ansprechender GUI• Geringe Investitionskosten• InHouse installierbargitlab.org/ gitorious.org/https://enterprise.github.com/
  • 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ötigen Verbrauch vonSystemressourcen• StandardisierungWarum?www.sublimetext.com/ www.jetbrains.com/idea/ panic.com/coda/ www.aptana.com/
  • 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 Klicks zu installieren• Erweiterbar über verschiedenste Modulewww.macports.org/ www.mamp.info/de/ www.eosgarden.com/en/products
  • 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üssen unterstützt werden• Preis-/Leistungsverhältnis
  • Christian HändelCerti!ed TYPO3 IntegratorSchritt 5: das Deployment
  • 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/
  • 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 Zielordner• (+) Plugin in Jenkins vorhanden• (-) Überflüssiges wird nicht gelöscht• (--) Webseite kann z.T. nicht erreichbar sein• (--) Fehlerkorrektur sehr schwierig
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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 integrieren• Struktur für branches festlegen• Guidelines für die einzelnen Schritte festhalten• Abläufe so kurz wie möglich
  • 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)
  • Christian HändelCerti!ed TYPO3 IntegratorAlternative 1: „big-Player“
  • Christian HändelCerti!ed TYPO3 IntegratorWas ist anders?• Mehr Mitarbeiter (z.T. in verschiedenen Standorten)• Verschiedenste Technologien• Größere Fluktuation innerhalb des Projektes
  • Christian HändelCerti!ed TYPO3 IntegratorVagrant Chef
  • 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
  • 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
  • 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
  • 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änkt• Einrichtungsaufwand ist nicht gerechtfertigt
  • 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/