Development Workflow

Updated 2 years ago

Development Workflow


This is the collaborative concept of an ideal workflow. It leverages a handful of community projects as well as their respective philosophies. Projects include Aquifer, Terra CLI and DevShop, but others could prove useful as well. I started this documentation to organize my own thoughts. The instantiation of these thoughts is still in the works.

Staging Server

For our staging server, DevShop will grant us a lot of continuous integration functionality out of the box and is more production ready than Terra at the moment. There is a good amount of momentum picking up around Terra as we speak where the end goal is to replace the hosting components of Aegir and DevShop. Join the DevShop and Terra CLI Gitters to get in on the discussion.

Local Development

While you could theoretically use any *AMP stack for local development, this focuses primarily on utilizing Terra CLI because it:

  • Has already been thoroughly internally documented by Heshan
  • Is more lightweight than a DevShop VM
  • Allows us to contribute to a DevShop built on Terra
  • Is ridiculously easy to run test suites like Behat locally

Bringing us one step closer to DevOps nirvana, making us rockstar contributors along the way.

Drush Make

Lastly, I’m an evangelist of the drush make workflow. A recently released project called Aquifer helps in transitioning existing sites while also streamlining new ones. We’re not locked down to using the Drush make workflow as Terra and DevShop support regular site repositories which allows us to transition as we go. Ideally though we should push for all projects to be built with Aquifer. Also, Aegir (and DevShop by inheritance) is more geared towards sites built from make files.

This brings us pretty damn close to DevOps nirvana.

Further Enlightenment

The next level will be to incorporate more automated/manual testing starting with some simple code linting along with performing code reviews.