Three months ago, we were introduced to the wonders of Ansible at Drupal Camp Brighton. Since then, whenever we’ve had the chance we’ve been working on various Ansible playbooks to automate many of our development and maintenance processes.

For a small team like us, Ansible is invaluable. It is reducing the time we need to spend administering our servers and sites exponentially, freeing up extra time for development.

Development and testing happen more quickly as well, and we can be more confident about deployment to live running smoothly because of better consistency between our environments.

Another great thing about Ansible is the community, which is growing rapidly and has produced a number of really useful pre-configured roles to get you started. Here are some of our favourites:

  • mivok0’s users: Good for user management, can add user groups and ssh keys as well.
  • Racknor3000’s sudo: Manages sudoers group
  • nbz4live’s php-fpm: Installs and configures php-fpm
  • jdauphant’s nginx: Installs and configures nginx
  • craigmj’s mariadb: Installs and configures mariadb

We’re also in the process of putting together some Drupal specific playbooks for installing a clean version of Drupal and for cloning existing Drupal sites.

They need a bit of fine tuning but once they’re in good shape we’ll be able to have a Drupal site up and running from a clean server within a matter of minutes.

We’re also looking at Ansible as a means of setting up Raspberry Pis to do all sorts of things…. watch this space!