I am a long time Drupal guy and I always found deploying changes to be a major pain but I just thought it was just something I had to deal with. Demoing new features means building a bunch of content types, maybe installing a module and maybe building some views in a staging environment and then just redoing the steps in production.

But then I was exposed to Symfony, Composer and Capifony and my mind was blown. I could easily deploy updates, bring up development environments and keep my VCS clean of code that I did not write. This is thanks to Composer and the fact that configuration is in code, not the database.

Now I just can't bring myself to once again check my whole Drupal install into my VCS. It bothers me having all that code in my VCS when I am really only responsible for the theme and 1 or 2 custom modules. And I would prefer they were in their own repos.

I have high hopes for Drupal 8, that it will allow me to just define my Drupal version and module versions in the composer.json file and check that into VCS without all the code. But for now, I feel like there should be some way to achieve this with drush maybe on Drupal 7. Couple drush with Features and I am sure I can solve a lot of my issues, but I just wanted to hear about some other people's experiences.

How are you deploying Drupal?

Comments

bojanz’s picture

Drush Make does what's needed for D7, the make file is the equivalent of composer.json in Symfony and D8.
So there's never a need to commit into your repo anything that can be fetched from drupal.org or github.

bander2’s picture

Thanks bojanz!

I've been using Drush for years. I can't believe I was ignorant to drush make.

- Brendan