Magento 2 marks a big upgrade in the PHP project. Not only has how we work with the code changed but Magento 2 has introduced new workflows for the backend and frontend. We now have different modes, Dependency Injection and DI compilation for speed enhancements, Static assets and LESS pre compilation phases. Require JS and JS merging and versioning.
At first site this all feels daunting, No longer can we just FTP files onto a server and expect that the application works. During this presentation I will explore what I consider “Best Practices” in terms of how we manage deployments within Magento 2, What components are required and some steps to follow to get a stable and reliable deployment pipeline setup.
Zero downtime deployments are the ideal goal however the generation of all the assets that are required for Magento 2 can take time. Having a separate build server or process is ideal and we can build archives that comprises the entire application and deploy the archive.
Database state adds variables to the deployment process and I will explore what options we have for managing state so that we can easily upgrade and roll back without the need for manual intervention.