Fetcher: A flexible build tool for Drupal

Speakers: 

Performing actions on Drupal sites often requires a lot of repetitive work which leads to cutting corners. Drush fetcher helps to encourage best practices by making it easy to automate system drupal tasks.

Fetcher is a drush extension that provides a flexible build system for Drupal. But wait, you say, what about drush make? Drush make helps with the initial project setup, but what about updates, compiling sass into css? Creating apache virtualhosts? Synchronizing your database? Creating a local solr instance?

Fetcher allows you to create new tasks for the system just by annotating functions. You can stacks composed of multiple tasks that keep track of dependencies and make sure your tasks get run in the right order. It is a perfect building block to simplify your continuous integration builds and makes local development effortless.

Fetcher ships with default commands to list available sites, to provision a local copy of a site, and then to synchronize that copy with whatever remote environment you desire (dev, staging, production, etc). It makes the provisioning a local copy or the deployment of a new version into a single drush command. This command will create apache virtualhosts, create your database and database user, synchronize the database and files from the environment of your choice, generate drush aliases for your environments (dev, staging, live), symlinks, and will you can easily tack on your own steps. It even supports synchronizing with Pantheon and Acquia hosted sites.

In this session I will introduce the audience to fetcher, demonstrate it's usage and default operations, and will demonstrate how to create custom tasks.

Along with the session I'll provide a vagrant project with a working configuration of the fetcher setup as an example.

Schedule info
Track: 
Experience level: 
Advanced
Drupal Version: 
N/A