SlideShare a Scribd company logo
Smooth M2
Workflows
• Challenges
• Solutions
• HelpfulTools
• Recommendations
• Q/A
Agenda
My Story
The Process
Challenges
• Scalable
• Assumptions of Skill
• Lynchpins
• Too Complicated
• Not Automated
• Too Many Assumptions
• I Thought Others Would Care 
Mistakes
• KISS
• Guides,NotRules
• OptimizeMercilessly
• RightProcessForThe RightTeam
• DrawYourLineIn The Sand
Lessons Learned
• Keep Developer Freedom?
• MaintainCode Integrity?
• Keep Accountability?
Developer Setup
• *nix(Unix / Linux)basedOS
• All Extensionsmustmatchappropriate
versions
– PHP
– Apache/ NGinX
– MySQL
– Etc…
• TESTSMUST PASS!
Developer Setup
• KeepTrack of ChangesEffectively?
• Reduce Conflictsand Reconciliation?
• Code Promotion?
Code Management
• Git/ Github
• GitBranching System
Code Management
• WhatTools?
• Scalability?
• Non-versioned Assets?
Code Promotion
Code Promotion
• Deploybot
• Git/ Github
• Composer
• M2 Command Line
Magento 2 Workflows
• Vagrant
• PHPStorm/ IDE
• Composer
• Git/ Github
Tools
Vagrant
• Simplify Developer Setup
• Easily Distributed Environment
• Flexible
• Expandable (Docker/ AWS / etc.)
Vagrant
• UsedSimple Vagrantfile and Shell Script
• KeptFiles in Version Control
• Allowed Simple DeveloperSetup
$ ~/ git clonegit@github.com:username/repo.git
$~/vagrantup
Vagrant Performance
• If it doesn’t change,don’t mount it!
• Increase CPUs and Memory for the Box
• Symlink var/ directories to /tmp/magento/var/*
• NFS mount (exceptvar/)
• Consider Vmware
• Consider Docker
Consider Building Your Own
Box
Vagrant
PHPStorm
• Code Completion
• Automated Code Sniffs
• Integrated Testing
• Xdebug Support
• Code Templates
PHPStorm
• Complete URNs
$ ~/ php bin/magento dev:urn-catalog:generate./misc.xml
PHPStorm
PHPUnit Integration
• Mess Detector
• ECG Standards
• PSR Standards
Code Sniffs
Code Sniffs
WorkFlow
Git Repository Structure
{root}
- Vagrantfile
- ClientName/
- Module01/
- Module02/
- Module03/
Each moduleis packaged
separately. This allows
maximum flexibility.
Git Repository Structure
$ ~/ git clonegit@github.com:company/clientrepo.git
$ ~/ git checkout–b mybranch develop
$ ~/vagrantup
Developer WorkFlow
• Code is kept in separate repo
• Maintainedand deployed in branches (dev, stage, prod, etc.)
• Allows faster deployments and rollbacks
• Client code is kept as artifacts on theserver.
• Composer.json points to directorythat holds all artifacts.
Deployment
$ ~/ git clone git@github.com:username/clientserverrepo.git
$ ~/ git checkout -b<branchname>
$ ~/ composercreate-project--repository-url=https://repo.magento.com/magento/project-community-edition ./
$ ~/ git commit –m “…”
$ ~/ composerrequireclientname/module01clientname/module02(etc.)
$ ~/ phpbin/magentodeploy:mode:set<mode>
$ ~/ phpbin/magentomodule:enableClient_Module01Client_Module02
$ ~/ phpbin/magentosetup:upgrade
$ ~/ git commit –m “…”
Server Setup
$ ~/ git fetch –all
$ ~/ git mergeorigin/stage
$ ~/ php bin/magento setup:di:compile-multi-tenant
$ ~/ git commit –m “…”
$ ~/ git tag v1.0.10
$ ~/ (other misc…)
Deployment
(onbranchproductioninrepo)
$~/ gitfetch–all
$~/ gitcheckout–b v1.0.10v1.0.10
$~/ phpbin/magentomodule:enable<module01><module02>
$~/ phpbin/magentosetup:upgrade
Production Deployment
Automation
Git Hooks can automate deployment of
code. Neverhook a production
deployment!
Deploybot can automate everything
we’veseen as well as static asset
generation, etc.
Magento 2 Workflows
Email:ryan@coolryan.com
Twitter: @ryanstreet
Thank You

More Related Content

What's hot (20)

PPTX
Performance all teh things
Marcus Deglos
 
PPTX
Varnish intro
Boyan Borisov
 
PDF
Varnish - PLNOG 4
Leszek Urbanski
 
PPTX
cache concepts and varnish-cache
Marc Cortinas Val
 
PDF
OSGi, Scripting and REST, Building Webapps With Apache Sling
Carsten Ziegeler
 
PDF
Play Framework and Activator
Kevin Webber
 
PDF
Apache Camel in the belly of the Docker whale
Henryk Konsek
 
PPTX
Apache Performance Tuning: Scaling Up
Sander Temme
 
PPTX
Apache development with GitHub and Travis CI
Jukka Zitting
 
ODP
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
Timofey Turenko
 
PDF
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
Adrian Trenaman
 
PDF
快快樂樂用Homestead
Chen Cheng-Wei
 
PPTX
WordPress + NGINX Best Practices with EasyEngine
NGINX, Inc.
 
PDF
RESTful web service with JBoss Fuse
ejlp12
 
PDF
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
Colin Charles
 
PDF
RESTFul development with Apache sling
Sergii Fesenko
 
PDF
Wordpress optimization
Almog Baku
 
PDF
Play Framework: async I/O with Java and Scala
Yevgeniy Brikman
 
PDF
MySQL DevOps at Outbrain
Shlomi Noach
 
KEY
Scaling Django
Mike Malone
 
Performance all teh things
Marcus Deglos
 
Varnish intro
Boyan Borisov
 
Varnish - PLNOG 4
Leszek Urbanski
 
cache concepts and varnish-cache
Marc Cortinas Val
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
Carsten Ziegeler
 
Play Framework and Activator
Kevin Webber
 
Apache Camel in the belly of the Docker whale
Henryk Konsek
 
Apache Performance Tuning: Scaling Up
Sander Temme
 
Apache development with GitHub and Travis CI
Jukka Zitting
 
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
Timofey Turenko
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
Adrian Trenaman
 
快快樂樂用Homestead
Chen Cheng-Wei
 
WordPress + NGINX Best Practices with EasyEngine
NGINX, Inc.
 
RESTful web service with JBoss Fuse
ejlp12
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
Colin Charles
 
RESTFul development with Apache sling
Sergii Fesenko
 
Wordpress optimization
Almog Baku
 
Play Framework: async I/O with Java and Scala
Yevgeniy Brikman
 
MySQL DevOps at Outbrain
Shlomi Noach
 
Scaling Django
Mike Malone
 

Viewers also liked (10)

PDF
Design patterns in Magento
Divante
 
PDF
Immutable Deployments with AWS CloudFormation and AWS Lambda
AOE
 
PPTX
How do I get involved in the Magento community?
Sherrie Rohde
 
PDF
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Arc & Codementor
 
PDF
Secure input and output handling - Magento Meetup Vienna Edition
Anna Völkl
 
KEY
Silex, the microframework
Inviqa
 
KEY
Keeping it small: Getting to know the Slim micro framework
Jeremy Kendall
 
PDF
How to Install Magento on WAMP Server
APPSeCONNECT
 
PDF
Improved Layered Navigation: Magento Extension by Amasty. User Guide.
Amasty
 
PDF
Omnichannel Customer Experience
Divante
 
Design patterns in Magento
Divante
 
Immutable Deployments with AWS CloudFormation and AWS Lambda
AOE
 
How do I get involved in the Magento community?
Sherrie Rohde
 
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Arc & Codementor
 
Secure input and output handling - Magento Meetup Vienna Edition
Anna Völkl
 
Silex, the microframework
Inviqa
 
Keeping it small: Getting to know the Slim micro framework
Jeremy Kendall
 
How to Install Magento on WAMP Server
APPSeCONNECT
 
Improved Layered Navigation: Magento Extension by Amasty. User Guide.
Amasty
 
Omnichannel Customer Experience
Divante
 
Ad

Similar to Magento 2 Workflows (20)

PDF
PHP Development Tools
Antony Abramchenko
 
PPTX
Warden @ Meet magento Romania 2021
alinalexandru
 
PPTX
Vagrant to-aws-flow
Kimberly Macias
 
PDF
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Fabrice Bernhard
 
PDF
DevOps in PHP environment
Evaldo Felipe
 
PDF
Powering Development and Testing Environments with Vagrant
Coen Jacobs
 
PDF
Vagrant - Version control your dev environment
bocribbz
 
PDF
Deploying to DigitalOcean With GitHub Actions
DigitalOcean
 
PDF
Vagrant for Effective DevOps Culture
Vaidik Kapoor
 
PDF
How to plan and define your CI-CD pipeline
ElasTest Project
 
ODP
Vagrant and puppet: Deployment made easy
Geronimo Orozco
 
PDF
Tools out of the box with Magento 2 in PHPSTORM
Andra Elena Lungu
 
PDF
Midwest PHP 2017 DevOps For Small team
Joe Ferguson
 
PDF
Top AWS DevOps course in Hyderabad
ManiSri4
 
PDF
Next generation WordPress developement... today
flowcom
 
PPT
Hacking the way you work
Fotis Alexandrou
 
PDF
Simplified DevOps Bliss -with OpenAI API
VictorSzoltysek
 
PDF
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Andrew Phillips
 
PDF
Jenkins to Gitlab - Intelligent Build-Pipelines
Christian Münch
 
PDF
Towards Continuous Deployment with Django
Roger Barnes
 
PHP Development Tools
Antony Abramchenko
 
Warden @ Meet magento Romania 2021
alinalexandru
 
Vagrant to-aws-flow
Kimberly Macias
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Fabrice Bernhard
 
DevOps in PHP environment
Evaldo Felipe
 
Powering Development and Testing Environments with Vagrant
Coen Jacobs
 
Vagrant - Version control your dev environment
bocribbz
 
Deploying to DigitalOcean With GitHub Actions
DigitalOcean
 
Vagrant for Effective DevOps Culture
Vaidik Kapoor
 
How to plan and define your CI-CD pipeline
ElasTest Project
 
Vagrant and puppet: Deployment made easy
Geronimo Orozco
 
Tools out of the box with Magento 2 in PHPSTORM
Andra Elena Lungu
 
Midwest PHP 2017 DevOps For Small team
Joe Ferguson
 
Top AWS DevOps course in Hyderabad
ManiSri4
 
Next generation WordPress developement... today
flowcom
 
Hacking the way you work
Fotis Alexandrou
 
Simplified DevOps Bliss -with OpenAI API
VictorSzoltysek
 
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Andrew Phillips
 
Jenkins to Gitlab - Intelligent Build-Pipelines
Christian Münch
 
Towards Continuous Deployment with Django
Roger Barnes
 
Ad

More from Ryan Street (6)

PPTX
CSS 3
Ryan Street
 
PPTX
Comparison of Top CMS Systems
Ryan Street
 
PPTX
Drupal commerce + search api (solr)
Ryan Street
 
PPTX
Start Your Search Engines: Optimizing Solr to Improve Results
Ryan Street
 
PPTX
Solr site search makes shopping simple
Ryan Street
 
PPTX
Data Loading With Magento
Ryan Street
 
Comparison of Top CMS Systems
Ryan Street
 
Drupal commerce + search api (solr)
Ryan Street
 
Start Your Search Engines: Optimizing Solr to Improve Results
Ryan Street
 
Solr site search makes shopping simple
Ryan Street
 
Data Loading With Magento
Ryan Street
 

Recently uploaded (20)

PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
July Patch Tuesday
Ivanti
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 

Magento 2 Workflows