DevOps for Humans: Ansible for Drupal Deployment Victory!


Click here to watch DevOps for Humans: Ansible for Drupal Deployment Victory!

Everyone knows it's a Good Idea™ to use a configuration management system (e.g. Puppet, Chef) to manage your Drupal infrastructure. But many people (myself included) have run into a wall of #wtfmoments when trying to learn the vagaries of traditional CM systems and their vendor-specific syntaxes.

In 2012, Ansible was released, enabling normal human beings to manage their servers with an easy, but powerful, CM system that uses YAML (just like Drupal 8!) to define configuration and Jinja2 (very much like Twig!) for templates. Not only that, but Ansible is also an incredibly simple and very flexible Drupal deployment and continuous delivery tool.

Learn how you can use Ansible to manage your infrastructure—including local development environments—and stop letting servers and deployments get in the way of development.

Most of the examples in this presentation will come from real-world examples of Drupal sites running on varying types of infrastructure (AWS, Digital Ocean, etc.), as well as local development environments managed with Vagrant and VirtualBox. For some simple examples, check out geerlingguy's Ansible Vagrant Examples on GitHub, and see how simple it is to build servers running LAMP, GitLab, Jenkins, Solr, etc.

Jeff Geerling (geerlingguy on has been working with Drupal since 2005, and is writing a book on Ansible, Ansible for DevOps: Server and configuration management for humans. You can find him on Twitter: @geerlingguy.

Schedule info
Experience level: 
Drupal Version: 
Time slot: 
Thursday · 02:15-03:15
19 - Lullabot | 4th floor


I've been converting all the existing servers in use by Midwestern Mac's services (Hosted Apache Solr and Server, as well as most of the development servers I use personally (GitLab, Jenkins, SonarQube, and some servers that fulfill other miscellaneous roles).

There are obviously a few rough edges (Ansible's a pretty young project), but Ansible has accelerated my server provisioning and app deployment process quite a bit, and I'll be sharing some real-world server configurations and app deployments I've done with Ansible during this session.

For starters, here are some full-fledged Ansible/Vagrant VM examples you can get up and running within a few minutes on your local machine (or on a VPS): Ansible Vagrant Examples. These examples use some of the many roles I've been posting to Ansible Galaxy (which I'll also cover as part of the presentation :): geerlingguy's roles.

My book, Ansible for DevOps, already covers a few common scenarios, but there's a whole lot more content coming! I just need to convert my many notes into writing!

Thanks for posting the links! You might want to spend a little time to break the roles out into their own repositories—once that's done, you could maybe contribute a few to Ansible Galaxy :)