SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Christian Händel
Certi!ed TYPO3 Integrator
Deployment für Agenturen
Case Study, Guideline und Tools
Christian Händel
Certi!ed TYPO3 Integrator
Case 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ändel
Certi!ed TYPO3 Integrator
Die 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ändel
Certi!ed TYPO3 Integrator
Freigabe!
Go!
Design!
Deployment
Deployment
?
Live
Kunde
PM
Grafik
Versionierung
(SVN)
Christian Händel
Certi!ed TYPO3 Integrator
Nachteile
• (-) 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ändel
Certi!ed TYPO3 Integrator
Der Aufräumprozess beginnt
Christian Händel
Certi!ed TYPO3 Integrator
Freigabe!
Go!
Design!
Deployment
Deployment
aah
Repository
(SVN/Git)
Deployment
Live
Test
Christian Händel
Certi!ed TYPO3 Integrator
Vorteile
• Fehler werden direkt auf dem Testsystem sichtbar
• Das Live-System läuft immer auf einer stabilen Version
• Automatisierte Prozesse ersetzen manuelle und damit
fehleranfällige Teil-Schritte
Christian Händel
Certi!ed TYPO3 Integrator
Schritt 1: Umstellung von SVN auf Git
Christian Händel
Certi!ed TYPO3 Integrator
Warum?
• Performanter: Datenübertragung erfolgt schneller, da nur die
tatsächlichen Änderungen übertragen werden
• Einfacher zu bedienen: es gibt mehr gute Tools, Befehle auf
der Kommandozeile sind intuitiver
• Breitere Community: hohe Bekanntheit durch Portale wie
github und bitbucket
Christian Händel
Certi!ed TYPO3 Integrator
Die lokale Oberfläche
• Kommandozeile?: Hilfreich aber keine ordentliche Visuelle
Darstellung
• GUI mit intuitiver Steuerung
gitboxapp.com/ www.git-tower.com/ www.atlassian.com/software/sourcetree
Christian Händel
Certi!ed TYPO3 Integrator
Die Serverumgebung
• Serverumgebung mit ansprechender GUI
• Geringe Investitionskosten
• InHouse installierbar
gitlab.org/ gitorious.org/
https://enterprise.github.com/
Christian Händel
Certi!ed TYPO3 Integrator
Schritt2: ein einheitlicher Editor
Christian Händel
Certi!ed TYPO3 Integrator
• Einheitliches Interface für alle Arbeitsplätze
• Schnellere Bearbeitung ohne unnötigen Verbrauch von
Systemressourcen
• Standardisierung
Warum?
www.sublimetext.com/ www.jetbrains.com/idea/ panic.com/coda/ www.aptana.com/
Christian Händel
Certi!ed TYPO3 Integrator
Schritt 3: die Entwicklungsumgebung
Christian Händel
Certi!ed TYPO3 Integrator
Die richtige Software
• Einheitlicher Standard für alle Entwickler
• Mit wenigen Klicks zu installieren
• Erweiterbar über verschiedenste Module
www.macports.org/ www.mamp.info/de/ www.eosgarden.com/en/products
Christian Händel
Certi!ed TYPO3 Integrator
Schritt 4: die Testumgebung
Christian Händel
Certi!ed TYPO3 Integrator
Bedingungen
• Schnelle Lösung mit viel Performance
• Alle gängigen Technologien müssen unterstützt werden
• Preis-/Leistungsverhältnis
Christian Händel
Certi!ed TYPO3 Integrator
Schritt 5: das Deployment
Christian Händel
Certi!ed TYPO3 Integrator
Die Software
• Einfach zu bedienende Oberfläche, skalier- und beliebig
erweiterbar
• Zeitliche Steuerung der Automatismen
• Alle Methoden müssen unterstützt werden
gitlab.org/ jenkins-ci.org/
Christian Händel
Certi!ed TYPO3 Integrator
Schritt 6: die Methoden
Christian Händel
Certi!ed TYPO3 Integrator
FTP 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ändel
Certi!ed TYPO3 Integrator
SSH 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ändel
Certi!ed TYPO3 Integrator
Git: „pull-at-Live“
• (-) Benötigt ssh-Zugang und git-Unterstützung auf dem
Zielsystem
• Führt auf dem Zielserver einen git pull aus und
aktualisiert so die Daten
• (+) extrem performant (je nach Anbindung an den git-Server)
• (+) löscht und aktualisiert nur die Änderungen
Christian Händel
Certi!ed TYPO3 Integrator
SSH 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ändel
Certi!ed TYPO3 Integrator
FTP 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ändel
Certi!ed TYPO3 Integrator
FTP 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ändel
Certi!ed TYPO3 Integrator
Schritt 6: die Prozesse
Christian Händel
Certi!ed TYPO3 Integrator
Repository
(Git)
Deployment
Live
Test
Christian Händel
Certi!ed TYPO3 Integrator
einheitliche 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ändel
Certi!ed TYPO3 Integrator
Fazit
• Ermöglicht viele Automatisierungen die Arbeit abnimmt und
die Zusammenarbeit gerade in regional verteilten Teams
optimiert
• Deployment und Einrichtung 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)
Christian Händel
Certi!ed TYPO3 Integrator
Alternative 1: „big-Player“
Christian Händel
Certi!ed TYPO3 Integrator
Was ist anders?
• Mehr Mitarbeiter (z.T. in verschiedenen Standorten)
• Verschiedenste Technologien
• Größere Fluktuation innerhalb des Projektes
Christian Händel
Certi!ed TYPO3 Integrator
Vagrant Chef
Christian Händel
Certi!ed TYPO3 Integrator
Vagrant
• Virtualisierungssoftware
• Ausführbar in der Konsole und damit auf allen bekannten
Systemen
• Arbeitet mit VirtualBox
• (+) Standardisiertes schnelles Arbeiten durch Vorlagen
• (-) Benötigt große Ressourcen auf dem Lokalsystem
Christian Händel
Certi!ed TYPO3 Integrator
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
• (+) Vorlagen reduzieren Konfigurationsaufwand auf ein
Minimum
Christian Händel
Certi!ed TYPO3 Integrator
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
Christian Händel
Certi!ed TYPO3 Integrator
Alternative 2: „small-Player“
Christian Händel
Certi!ed TYPO3 Integrator
Was ist anders?
• Sehr wenige Mitarbeiter (1-2)
• Auf bestimmte Technologien beschränkt
• Einrichtungsaufwand ist nicht gerechtfertigt
Christian Händel
Certi!ed TYPO3 Integrator
Die Lösung: beanstalk
• (+) Online-Portal inklusive Git
• (+) Deployment-Prozesse inklusive:
• (++) Methoden sehr ausgereift (FTP, SSH)
• (-) Kein kostenfreier Service
http://beanstalkapp.com/

Weitere ähnliche Inhalte

Was ist angesagt?

Python-IDEs - PyDev und Eclipse
Python-IDEs - PyDev und EclipsePython-IDEs - PyDev und Eclipse
Python-IDEs - PyDev und EclipseThomas Koch
 
Versionierung mit GIT
Versionierung mit GITVersionierung mit GIT
Versionierung mit GITgedoplan
 
Lohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder SoftwareLohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder SoftwareChristian Güdemann
 
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHEntwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHstijink
 
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnTipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnViktor Vogel
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneVorname Nachname
 
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?punkt.de GmbH
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinStephan Kaps
 
Git class german / english
Git class german / englishGit class german / english
Git class german / englishKevin Read
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnMartin Seibert
 
Das Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsDas Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsChristian Erhardt
 
Kaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapKaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapStephan Kaps
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!JanWeinschenker
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3Peter Kraume
 
PHP Deployment mit Ansible
PHP Deployment mit AnsiblePHP Deployment mit Ansible
PHP Deployment mit AnsibleMichael Döhler
 
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtFMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtVerein FM Konferenz
 
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtFMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtVerein FM Konferenz
 
Creative codingday 2_10012014_vor
Creative codingday 2_10012014_vorCreative codingday 2_10012014_vor
Creative codingday 2_10012014_vorJeongHo Park
 
SHAREPOINT TOOLBOX 2015 - Nützliche Tools die keinem Entwickler/Administrator...
SHAREPOINT TOOLBOX 2015 - Nützliche Tools die keinem Entwickler/Administrator...SHAREPOINT TOOLBOX 2015 - Nützliche Tools die keinem Entwickler/Administrator...
SHAREPOINT TOOLBOX 2015 - Nützliche Tools die keinem Entwickler/Administrator...Henning Eiben
 

Was ist angesagt? (20)

Python-IDEs - PyDev und Eclipse
Python-IDEs - PyDev und EclipsePython-IDEs - PyDev und Eclipse
Python-IDEs - PyDev und Eclipse
 
Versionierung mit GIT
Versionierung mit GITVersionierung mit GIT
Versionierung mit GIT
 
Lohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder SoftwareLohnt sich die Modernisierung bestehnder Software
Lohnt sich die Modernisierung bestehnder Software
 
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHEntwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
 
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - KölnTipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
Tipps & Tricks für Erweiterungsentwickler - JoomlaDay Deutschland 2014 - Köln
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der Schiene
 
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes sein
 
Git class german / english
Git class german / englishGit class german / english
Git class german / english
 
Continous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickelnContinous Deployment - Schneller entwickeln
Continous Deployment - Schneller entwickeln
 
Das Kung Fu des Code Reviews
Das Kung Fu des Code ReviewsDas Kung Fu des Code Reviews
Das Kung Fu des Code Reviews
 
Kaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapKaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment Roadmap
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!
 
Composer und TYPO3
Composer und TYPO3Composer und TYPO3
Composer und TYPO3
 
PHP Deployment mit Ansible
PHP Deployment mit AnsiblePHP Deployment mit Ansible
PHP Deployment mit Ansible
 
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtFMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
 
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtFMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
 
Creative codingday 2_10012014_vor
Creative codingday 2_10012014_vorCreative codingday 2_10012014_vor
Creative codingday 2_10012014_vor
 
SHAREPOINT TOOLBOX 2015 - Nützliche Tools die keinem Entwickler/Administrator...
SHAREPOINT TOOLBOX 2015 - Nützliche Tools die keinem Entwickler/Administrator...SHAREPOINT TOOLBOX 2015 - Nützliche Tools die keinem Entwickler/Administrator...
SHAREPOINT TOOLBOX 2015 - Nützliche Tools die keinem Entwickler/Administrator...
 

Andere mochten auch (20)

Presentación1
Presentación1Presentación1
Presentación1
 
Séptimo Postulado
Séptimo PostuladoSéptimo Postulado
Séptimo Postulado
 
Energias limpias
Energias limpiasEnergias limpias
Energias limpias
 
Partes del computador
Partes del computadorPartes del computador
Partes del computador
 
Idrc costa rica ppt final
Idrc costa rica ppt finalIdrc costa rica ppt final
Idrc costa rica ppt final
 
Inteligencia artificial[1]
Inteligencia artificial[1]Inteligencia artificial[1]
Inteligencia artificial[1]
 
Act_1 equipo 1
Act_1 equipo 1Act_1 equipo 1
Act_1 equipo 1
 
Iam muslim ger
Iam muslim gerIam muslim ger
Iam muslim ger
 
Sistema nervioso.actividad.
Sistema nervioso.actividad.Sistema nervioso.actividad.
Sistema nervioso.actividad.
 
Patinaje artístico
Patinaje artísticoPatinaje artístico
Patinaje artístico
 
Nadie
NadieNadie
Nadie
 
Das Corporate Communication Desk-Modell
Das Corporate Communication Desk-ModellDas Corporate Communication Desk-Modell
Das Corporate Communication Desk-Modell
 
Enzim (1)
Enzim (1)Enzim (1)
Enzim (1)
 
Neue medien im chemieunterricht facebook
Neue medien im chemieunterricht facebookNeue medien im chemieunterricht facebook
Neue medien im chemieunterricht facebook
 
Was ist WeGov?
Was ist WeGov?Was ist WeGov?
Was ist WeGov?
 
Desde las trincheras (Barcelona)
Desde las trincheras (Barcelona)Desde las trincheras (Barcelona)
Desde las trincheras (Barcelona)
 
Optimierung der Zustellkosten bei Zeitungsverlagen
Optimierung der Zustellkosten bei ZeitungsverlagenOptimierung der Zustellkosten bei Zeitungsverlagen
Optimierung der Zustellkosten bei Zeitungsverlagen
 
Faq smm-5-2-14
Faq smm-5-2-14Faq smm-5-2-14
Faq smm-5-2-14
 
Presentación fusion
Presentación fusionPresentación fusion
Presentación fusion
 
¡El circo del Sol!
¡El circo del Sol!¡El circo del Sol!
¡El circo del Sol!
 

Ähnlich wie Deployment

"git.net" gibt's nicht?
"git.net" gibt's nicht?"git.net" gibt's nicht?
"git.net" gibt's nicht?inovex GmbH
 
JIRA at ImmobilienScout24
JIRA at ImmobilienScout24JIRA at ImmobilienScout24
JIRA at ImmobilienScout24augbb
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungOPEN KNOWLEDGE GmbH
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployMark Lechtermann
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]Tommy Ziegler
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturQAware GmbH
 
Update TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSUpdate TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSCS2 AG
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionOliver Busse
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanCollabNet
 
AG Softwaretechnik
AG SoftwaretechnikAG Softwaretechnik
AG SoftwaretechnikRoland M
 
Einsatz von Git im Unternehmen
Einsatz von Git im UnternehmenEinsatz von Git im Unternehmen
Einsatz von Git im Unternehmenoose
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everythingcusy GmbH
 
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)NETWAYS
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023Johannes Kleinlercher
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOpscusy GmbH
 
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop AnalyticsWindows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop AnalyticsFabian Niesen
 

Ähnlich wie Deployment (20)

"git.net" gibt's nicht?
"git.net" gibt's nicht?"git.net" gibt's nicht?
"git.net" gibt's nicht?
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 
JIRA at ImmobilienScout24
JIRA at ImmobilienScout24JIRA at ImmobilienScout24
JIRA at ImmobilienScout24
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Update TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSUpdate TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTS
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsession
 
TYPO3 GitLab CI
TYPO3 GitLab CITYPO3 GitLab CI
TYPO3 GitLab CI
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - German
 
AG Softwaretechnik
AG SoftwaretechnikAG Softwaretechnik
AG Softwaretechnik
 
Upgrade auf TYPO3 6.2
Upgrade auf TYPO3 6.2Upgrade auf TYPO3 6.2
Upgrade auf TYPO3 6.2
 
Einsatz von Git im Unternehmen
Einsatz von Git im UnternehmenEinsatz von Git im Unternehmen
Einsatz von Git im Unternehmen
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
Foreman: Docker Integration (Webinar vom 05. Oktober_2016)
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop AnalyticsWindows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
 

Deployment

  • 1. Christian Händel Certi!ed TYPO3 Integrator Deployment für Agenturen Case Study, Guideline und Tools
  • 2. Christian Händel Certi!ed TYPO3 Integrator Case 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. Christian Händel Certi!ed TYPO3 Integrator Die 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. Christian Händel Certi!ed TYPO3 Integrator Freigabe! Go! Design! Deployment Deployment ? Live Kunde PM Grafik Versionierung (SVN)
  • 5. Christian Händel Certi!ed TYPO3 Integrator Nachteile • (-) 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. Christian Händel Certi!ed TYPO3 Integrator Der Aufräumprozess beginnt
  • 7. Christian Händel Certi!ed TYPO3 Integrator Freigabe! Go! Design! Deployment Deployment aah Repository (SVN/Git) Deployment Live Test
  • 8. Christian Händel Certi!ed TYPO3 Integrator Vorteile • Fehler werden direkt auf dem Testsystem sichtbar • Das Live-System läuft immer auf einer stabilen Version • Automatisierte Prozesse ersetzen manuelle und damit fehleranfällige Teil-Schritte
  • 9. Christian Händel Certi!ed TYPO3 Integrator Schritt 1: Umstellung von SVN auf Git
  • 10. Christian Händel Certi!ed TYPO3 Integrator Warum? • Performanter: Datenübertragung erfolgt schneller, da nur die tatsächlichen Änderungen übertragen werden • Einfacher zu bedienen: es gibt mehr gute Tools, Befehle auf der Kommandozeile sind intuitiver • Breitere Community: hohe Bekanntheit durch Portale wie github und bitbucket
  • 11. Christian Händel Certi!ed TYPO3 Integrator Die lokale Oberfläche • Kommandozeile?: Hilfreich aber keine ordentliche Visuelle Darstellung • GUI mit intuitiver Steuerung gitboxapp.com/ www.git-tower.com/ www.atlassian.com/software/sourcetree
  • 12. Christian Händel Certi!ed TYPO3 Integrator Die Serverumgebung • Serverumgebung mit ansprechender GUI • Geringe Investitionskosten • InHouse installierbar gitlab.org/ gitorious.org/ https://enterprise.github.com/
  • 13. Christian Händel Certi!ed TYPO3 Integrator Schritt2: ein einheitlicher Editor
  • 14. Christian Händel Certi!ed TYPO3 Integrator • Einheitliches Interface für alle Arbeitsplätze • Schnellere Bearbeitung ohne unnötigen Verbrauch von Systemressourcen • Standardisierung Warum? www.sublimetext.com/ www.jetbrains.com/idea/ panic.com/coda/ www.aptana.com/
  • 15. Christian Händel Certi!ed TYPO3 Integrator Schritt 3: die Entwicklungsumgebung
  • 16. Christian Händel Certi!ed TYPO3 Integrator Die richtige Software • Einheitlicher Standard für alle Entwickler • Mit wenigen Klicks zu installieren • Erweiterbar über verschiedenste Module www.macports.org/ www.mamp.info/de/ www.eosgarden.com/en/products
  • 17. Christian Händel Certi!ed TYPO3 Integrator Schritt 4: die Testumgebung
  • 18. Christian Händel Certi!ed TYPO3 Integrator Bedingungen • Schnelle Lösung mit viel Performance • Alle gängigen Technologien müssen unterstützt werden • Preis-/Leistungsverhältnis
  • 19. Christian Händel Certi!ed TYPO3 Integrator Schritt 5: das Deployment
  • 20. Christian Händel Certi!ed TYPO3 Integrator Die Software • Einfach zu bedienende Oberfläche, skalier- und beliebig erweiterbar • Zeitliche Steuerung der Automatismen • Alle Methoden müssen unterstützt werden gitlab.org/ jenkins-ci.org/
  • 21. Christian Händel Certi!ed TYPO3 Integrator Schritt 6: die Methoden
  • 22. Christian Händel Certi!ed TYPO3 Integrator FTP 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. Christian Händel Certi!ed TYPO3 Integrator SSH 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. Christian Händel Certi!ed TYPO3 Integrator Git: „pull-at-Live“ • (-) Benötigt ssh-Zugang und git-Unterstützung auf dem Zielsystem • Führt auf dem Zielserver einen git pull aus und aktualisiert so die Daten • (+) extrem performant (je nach Anbindung an den git-Server) • (+) löscht und aktualisiert nur die Änderungen
  • 25. Christian Händel Certi!ed TYPO3 Integrator SSH 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. Christian Händel Certi!ed TYPO3 Integrator FTP 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. Christian Händel Certi!ed TYPO3 Integrator FTP 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. Christian Händel Certi!ed TYPO3 Integrator Schritt 6: die Prozesse
  • 29. Christian Händel Certi!ed TYPO3 Integrator Repository (Git) Deployment Live Test
  • 30. Christian Händel Certi!ed TYPO3 Integrator einheitliche 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. Christian Händel Certi!ed TYPO3 Integrator Fazit • Ermöglicht viele Automatisierungen die Arbeit abnimmt und die Zusammenarbeit gerade in regional verteilten Teams optimiert • Deployment und Einrichtung 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)
  • 32. Christian Händel Certi!ed TYPO3 Integrator Alternative 1: „big-Player“
  • 33. Christian Händel Certi!ed TYPO3 Integrator Was ist anders? • Mehr Mitarbeiter (z.T. in verschiedenen Standorten) • Verschiedenste Technologien • Größere Fluktuation innerhalb des Projektes
  • 34. Christian Händel Certi!ed TYPO3 Integrator Vagrant Chef
  • 35. Christian Händel Certi!ed TYPO3 Integrator Vagrant • Virtualisierungssoftware • Ausführbar in der Konsole und damit auf allen bekannten Systemen • Arbeitet mit VirtualBox • (+) Standardisiertes schnelles Arbeiten durch Vorlagen • (-) Benötigt große Ressourcen auf dem Lokalsystem
  • 36. Christian Händel Certi!ed TYPO3 Integrator 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 • (+) Vorlagen reduzieren Konfigurationsaufwand auf ein Minimum
  • 37. Christian Händel Certi!ed TYPO3 Integrator 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
  • 38. Christian Händel Certi!ed TYPO3 Integrator Alternative 2: „small-Player“
  • 39. Christian Händel Certi!ed TYPO3 Integrator Was ist anders? • Sehr wenige Mitarbeiter (1-2) • Auf bestimmte Technologien beschränkt • Einrichtungsaufwand ist nicht gerechtfertigt
  • 40. Christian Händel Certi!ed TYPO3 Integrator Die Lösung: beanstalk • (+) Online-Portal inklusive Git • (+) Deployment-Prozesse inklusive: • (++) Methoden sehr ausgereift (FTP, SSH) • (-) Kein kostenfreier Service http://beanstalkapp.com/