Deploying Drupal: Patterns and Antipatterns
"Just copy the code to the server" was probably the best sales pitch of PHP (and other interpreted languages) for a long time. Then it got complicated with CMS’s. We introduced databases, and modules, and patches, and config. With config came config deployment and things got really complicated. Then front-end people began using CSS and JavaScript preprocessors. Backend people got hooked to automated tests, composer and modern frameworks. In an eye blink, PHP code generation was introduced as a necessary step before deployment and deployment became scary dark art, often with unanticipated results.
This session is going to try to untangle the complexity of deploying a modern Drupal 7 and Drupal 8 project. It will cover:
- Getting the code - drush make vs composer.
- Compiling the code - from committing compiled code to managing all the tools on a centralised server.
- Drupal config management and evolution from manual deployment to drush cim.
The goal of the session is not to give a “one size fits all” recipe, nor it aspires to teach attendees everything there is about how to do deployment properly. Instead it will try to offer an overview of existing problems and solutions, engage a discussion on how to make those solutions even better and allow people to choose right set of techniques for each project individually.