Smart deployment workflow for the budget-conscious

caxy4

THE PROBLEM: small budgets preclude automated testing and fancy continuous integration (CI) deployment workflows

While making a commit and trusting our CI workflow to take care of testing and deployment is "the dream" – many of us maintain multiple sites, each tied to a budget, that cannot support the development of robust automated testing and deployment infrastructures.

We need a deployment workflow that is both...

  • simple – so maintentence tasks can be transfered easily among team members...and...
  • clear – so we can deploy with confidence

A SOLUTION: a scripted, code driven deployment workflow that clearly shows the changes being pushed to the production server

In this talk I'll walk you through a workflow that can have a site up and running locally by a "day 1" developer and how that same "day 1" developer would then deploy changes to a production environment.

Topics covered will include:

  • Using a drush make file to build a site
  • Automated scripting of a site build, installation, and deployment
  • Storing configuration and generating dummy content so we don't need to pull a production database
  • Creating checkpoints to ensure the changes being deployed are cleary identified
  • Deploying to various hosting enviornments (Acquia, Pantheon, generic)
  • Adding automated testing and/or CI to the workflow

This workflow is designed to easily accomodate the addition of CI and/or automated testing, but does not presume it.
In other words, the approach is designed to be a stepping stone between having little or no deployment workflow (i.e. developing on a production server) and the full-blown CI setups that many of us cannot afford.

 More specifically, the workflow is installation profile driven (a.k.a. code driven), which means it requires the ability to codify configuration – be it via Features (D7), Configuration Management (D8), or some other tool.

I'm excited to share ThinkShout's experience using this workflow and have some healthy "compare and contrast" Q & A to round out the talk!

Session Track

DevOps

Experience Level

Beginner

Drupal Version