PDF

Werbung
Web Deployment
Engen - 02.10.2014 - t3see
Lars Messmer - comsolit AG
Deplyoment t3see
Version: 1
Seite 1 / 16
comsolit AG
•agile / Scrum
•Gerrit / git / Jenkins
•Webbasierte Software
•Websites, Shops, Internet Portale
Deplyoment t3see
Version: 1
Seite 2 / 16
Wie arbeiten wir?
•Entwickler PC
•Git-Versionverwaltung
•Agentur-Server
•Kunden-Server
•2 Wochen Sprints
Deplyoment t3see
Version: 1
Seite 3 / 16
Früher
•Ein Release war ein Ereignis
•Launchplan mit min. 10 Punkten
•½ Tag 2 Entwickler
•Freitag wollten wir nicht mehr launchen
•etwas ging immer schief ;-(
•nach erfolgreichem Release > Party
Deplyoment t3see
Version: 1
Seite 4 / 16
Heute
•ein Befehl macht den Launch
•2 Release pro Tag / Projekt
•Release ohne Fehler
•Zeiteinsparung ist immens
•leider keine Releasepartys mehr
Deplyoment t3see
Version: 1
Seite 5 / 16
Wieso Deployment?
•agile Entwicklung benötigt eine schnelle und einfache Veröffentlichung
•sichere und vollständige Release
•kurze Unterbrüche
•Staging
•build Step
•nachvollziehbare History/Dokumentation
Deplyoment t3see
Version: 1
Seite 6 / 16
so oft wie möglich!
•schnelles Feedback
•effizientes Bugfixen
•Integration/Migration kleiner halten
•weniger grosse changes
•Transparenz für den Kunden
•update release
Deplyoment t3see
Version: 1
Seite 7 / 16
continuous integration
•ist unser Ziel
•Gerrit / Jenkins Workflow haben wir
•aber leider zu wenig Testabdeckung
Deplyoment t3see
Version: 1
Seite 8 / 16
Unser Deployment
•Open-Source (https://github.com/comsolit/comsolit_deploy)
•läuft auf dem Web-Server (Linux)
•benötigt ein git repository
•benötigt ssh
•Konfiguration im Projekt
Deplyoment t3see
Version: 1
Seite 9 / 16
Die Power-Features!
•continous integration fähig
•läuft auf jedem webserver
•ohne Unterbruch
•test-driven
•release Dokumentation
Deplyoment t3see
Version: 1
Seite 10 / 16
weitere Features
•install script
•stagingfähig (3. Stufen)
•letzte 4 Versionen als fallback
•diverse Umgebungsvariablen
•gut konfigurierbar
•hook für weitere Aktionen
Deplyoment t3see
Version: 1
Seite 11 / 16
Funktionsweise
•git branches
•dev, release, master
•git push [webserver]
•webserver > git checkout
•webserver > post receive hook
Deplyoment t3see
Version: 1
Seite 12 / 16
Vorteile
•unabhängig von Infrastruktur
•lässt sich in build process einbauen
•schnelle und vollständige
•Übertragung mit git
•Versionsfeatures von git nutzen (Tags usw.)
•deploy hook projektspezifisch
Deplyoment t3see
Version: 1
Seite 13 / 16
TYPO3 hook
•Core symlink
•medienfiles symlink
•typo3temp
•Localconfiguration.php
•cli script / sql script
Deplyoment t3see
Version: 1
Seite 14 / 16
Beispiel-Softwareprojekt
•git-Tag gibt Version im FE an
•mehrere Webserver gleichzeitig updaten
•jenkins trigger
•composer integration
•cache warm-up
•E-Mail Versand nach Release
•automatisches Changelog
Deplyoment t3see
Version: 1
Seite 15 / 16
Infos
Blogpost
•http://www.comsolit.com/blog/2014/07/open-source-deployment-script/
Github
•https://github.com/comsolit/comsolit_deploy
Support
•http://www.comsolit.com/
Deplyoment t3see
Version: 1
Seite 16 / 16
Herunterladen