• Save
Meet Magento - Rock solid development
Upcoming SlideShare
Loading in...5
×
 

Meet Magento - Rock solid development

on

  • 1,387 views

In this session we show how to organize Magento projects using Version control and how to have a development process in place to assure highest quality with many developers involved and teams spread ...

In this session we show how to organize Magento projects using Version control and how to have a development process in place to assure highest quality with many developers involved and teams spread over different continents.

This talk covers how to run a continuous integration pipeline that takes care of testing various aspects of the webshop (unit tests, acceptance tests, performance test,…).

In this talk you will learn about:

Agile team setup and development organization
Task board
How to structure your project in a clean way. (Settings, code, data, database)
Gitflow and Reviewprocess
Development System (Vagrant)
Third Party Modules
Continuous Deployment
Unit Testing with Magento
Deployment and Testpipeline
Acceptance Tests
Performance Tests
Deployment Tools and Concepts
Stable Operation
Monitoring
Autoscaling
Server Provisioning

Statistics

Views

Total Views
1,387
Views on SlideShare
1,327
Embed Views
60

Actions

Likes
3
Downloads
0
Comments
0

1 Embed 60

http://www.meet-magento.de 60

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

Meet Magento - Rock solid development Meet Magento - Rock solid development Presentation Transcript

  • Montag, 3. Juni 13
  • Rock Solid MagentoDevelopmentPresented byDaniel PötzingerMeet Magento - Leipzig 2013Montag, 3. Juni 13
  • Montag, 3. Juni 13
  • danpoetzMontag, 3. Juni 13
  • Am Anfang jederEntwicklung isteine IdeeMontag, 3. Juni 13
  • oder auch viele...Montag, 3. Juni 13
  • $Der Weg zum ZielLean product/market fit(Ideen sammeln und Validieren)Lean principlesagile EntwicklungScrum / KanbanBetriebMontag, 3. Juni 13
  • $ist voller HerrausforderungenäDer Weg zum ZielMontag, 3. Juni 13
  • effektives Team öMontag, 3. Juni 13
  • Menschen und Interaktionensind wichtiger als Prozesse undWerkzeugeFunktionierende Softwareist wichtiger als umfassende KonzeptionsdokumenteZusammenarbeit mit dem Kundenist wichtiger als Vertragsverhandlung Auf Veränderungen eingehenist wichtiger als Festhalten an einem Planagiles ManifestoMontag, 3. Juni 13
  • TeamMontag, 3. Juni 13
  • Scrum TeamMontag, 3. Juni 13
  • 24H2-4 WOCHENScrumMontag, 3. Juni 13
  • Tuckman ModelMontag, 3. Juni 13
  • targetprocessMontag, 3. Juni 13
  • Pair ProgrammingMontag, 3. Juni 13
  • Was ist die Ramp up Timefür neue Entwickler im Team?Montag, 3. Juni 13
  • Wie viele Entwickler teilen sich ein System?Montag, 3. Juni 13
  • ★Am Rechner ein Kommando ausführen, um eine aktuelleEntwicklungsumgebung zu bekommen★Einen Kaffee holen★zurück kommen und loslegenWie wäre das...Montag, 3. Juni 13
  • äMontag, 3. Juni 13
  • Qualität„Eine neue Funktion hat vorhandeneFunktionen kaputt gemacht“„auf meinem Entwicklungssystem hatesfunktioniert“„Im Firefox geht es“„Das hat Mustermann gemacht - keineAhnung was der Code macht“üMontag, 3. Juni 13
  • Kenne die Code SmellsMontag, 3. Juni 13
  • Magento Core und Module trennenhttps://github.com/colinmollenhour/modman.modmanapp/code/local/Mage/Customer/*app/code/local/Mage/Customer/style_root/build/css/*skin/frontend/project/theme/cssstyle_root/build/filesskin/frontend/project/theme/filestyle_root/build/js/*skin/frontend/project/theme/jsstyle_root/build/html/*skin/frontend/project/theme/html@shell cp $MODULE/.htaccess $PROJECT/.htaccess; echo "Copied .htaccess";modman deploy-allMontag, 3. Juni 13
  • ääDefinition of DoneEbenen von „Done“Montag, 3. Juni 13
  • Continuous Integration„„mainXväMontag, 3. Juni 13
  • HotfixbranchFeature BranchesmainFeature1ü„ü„üContinuous IntegrationXFeature1Montag, 3. Juni 13
  • TestPyramideAutomated Unit TestsAutomatedFunctional TestsAutomatedIntegration TestsAutomatedAPI TestsAutomatedGUI TestsManual / SessionBased TestingMontag, 3. Juni 13
  • MagicentoMontag, 3. Juni 13
  • Code ReviewBuildTest+ReviewMontag, 3. Juni 13
  • Code AnalyseMontag, 3. Juni 13
  • Test PipelineKomponentenFunctionalAkzeptanzPerformanceAutomated Unit TestsAutomatedFunctional TestsAutomatedIntegration TestsAutomatedAPI TestsAutomatedGUI TestsManual / SessionBased TestingMontag, 3. Juni 13
  • • Code Review:• Gerrit• Crucible• Code Analyse• phpcpd• php-codesniffer• phpmd• phpdepend• phplocNützliche Tools• CI• Jenkins• Bamboo• Testing:• PHPUnit• Cucumber• Selenium 2• Menta• Jmeter• EcomDevMontag, 3. Juni 13
  • Deploymentund InfrastrukturMontag, 3. Juni 13
  • Von derEntwicklungsumgebung zurProduktivumgebungMontag, 3. Juni 13
  • Eine neue Umgebung zu starten,sollte schneller sein,als eine existierende zu reparierenMontag, 3. Juni 13
  • Infrastructure as code!Montag, 3. Juni 13
  • Chef & PuppetMontag, 3. Juni 13
  • DeploymentProvisioningSteps Attributes&DataBagsinfra-structurecookbooksBasis Box (AMI,VBOX)Infrastruktur als Codesite-cookbooksMontag, 3. Juni 13
  • Montag, 3. Juni 13
  • „Virtualized development made easy“git clone ..../angrybirds/serversetupvagrant upVagrant VirtualBox+Montag, 3. Juni 13
  • cookbooksVCSVagrantVBox1EC2CI Chef ServerStaging & ProductionInfrastruktur als CodeMontag, 3. Juni 13
  • Don‘t be scared ofreleasing toproductionEs geht nicht nur um den Quellcode!Montag, 3. Juni 13
  • UmgebungenKonfigurationQuellcodeDatenDeploymentMontag, 3. Juni 13
  • Nützliche Tools• Vagrant• Chef• Librarian Chef• EnvSettingsTool• EasyDeploy• EasyDeployWorkflowsMontag, 3. Juni 13
  • Rollout und Rollback PatternGreen / BlueCanary Release Dark LaunchorReleasefolderMontag, 3. Juni 13
  • BetriebäMontag, 3. Juni 13
  • Plan deine Infrastruktur wie deinen CodeMontag, 3. Juni 13
  • RDS„Deployment Definition“+ AutoscalingVarnish ArrayFrontend Array Backend Array Worker ArrayCloudFrontCDN for SkinELBR53DNSRDSS3DeploymentElastiCacheCache BackendCloudFrontCDN for AssetsS3Assets StorageEC2 EC2EC2EC2 EC2 EC2EC2 EC2MonitoringAPIMontag, 3. Juni 13
  • $Lean product/market fit(Ideen sammeln undValidieren)agile EntwicklungScrum / KanbanBetriebBuildKomponentenVagrantProvisioningMonitoringFunctionalAkzeptanzPerformanceDeploymentCodeStyleDevTest+ReviewDer Weg zum ZielMontag, 3. Juni 13
  • Montag, 3. Juni 13
  • Über uns Open Web Company• Seit 1999 profitabel am Marktpositioniert• 2. Platz im Deloitte Technology Fast 50Award Ranking 2010• Über 500 Projekte• 100 Entwickler und Consultants in 6Ländern• Marktführender TYPO3 Dienstleister• Full Service Verständnis durch starkePartner für Design, Hosting undMarketingMontag, 3. Juni 13
  • Was wir bieten Enterprise Web Content Management• Entwicklung von ganzheitlichen globalen Enterprise CMSLösungen• Migration bestehender Webseiten in TYPO3• Entwicklung von Erweiterungen und Einbindung in existierendeSysteme E-Commerce• E-Commerce Anwendungsentwicklung• Open Source E-Commerce Lösungen und Prozessintegration(ERP, CRM etc.) Online Applikationen• Vollständige Systemarchitekturentwicklung und Implementierungvon EnterpriseOnline Applikationen• Full Service & Consulting• Wartung & PflegeMontag, 3. Juni 13
  • Danke!Follow us on Twitter:AOE: @aoemediaDaniel P: @danpoetzFlickr photo contributions in the slide:http://www.flickr.com/photos/the-wanderers-eye/4494147652/sizes/l/http://www.flickr.com/photos/51293088@N05/8195327886/sizes/l/http://www.flickr.com/photos/k1rsch/3818553037/sizes/l/Montag, 3. Juni 13