chef-drush icon indicating copy to clipboard operation
chef-drush copied to clipboard

Drush chef cookbook

= DESCRIPTION:

Installs the Drush CLI tool for Drupal, either via PEAR package or directly from source via Git. Also included is a recipe that can be used to install drush_make via the drush pm-download command.

= REQUIREMENTS:

  • Opscode's php cookbook - http://community.opscode.com/cookbooks/php/

= PLATFORMS:

The following platforms are supported by this cookbook, meaning that the recipes run on these platforms without error.

  • Debian
  • Ubuntu
  • CentOS

= RECIPES:

== default:

Installs drush using the desired install_method recipe, and also includes minor recipes to meet dependencies.

== pear:

Installs drush via PEAR package manager.

== git:

Install drush via Git from source repository.

== upgrade_pear:

Upgrades PEAR to v1.9.1, which meets minimum required by drush via PEAR.

== install_console_table:

Installs PEAR Console_Table extension dependency.

== make:

Executes a drush command to install drush_make. If the drush make command is already available, this command will not be run.

= ATTRIBUTES:

== default:

  • node['drush']['install_method'] - Indicates the desired install method, currently either git or pear.
  • node['drush']['version'] - Drush preferred state (stable, beta, devel) or version of format x.y.z when install_method is pear (eg. 5.0.0). When install_method is git, the format is a git reference commit/tag/branch (eg. 31d768a / 7.x-4.x / 7.x-5.0 )
  • node['drush']['allreleases'] - URL of allreleases.xml for pear to install from preferred states.
  • node['drush']['make']['version'] - Drush Make version of format x.y
  • node['drush']['install_dir'] - Where to install Drush via Git. Used to install Drush Make as well.

= USAGE:

Simply include the drush or drush::make recipe wherever you would like drush installed. You may alter the install_method and version attributes appropriately.

== Resource/Provider

This cookbook includes LWRP. The +drush_execute+ resource is used to execute a drush command. Commands that are executed with this resource are (by their nature) not idempotent, as they are typically unique to the environment in which they are run.

=== Syntax

drush_execute "command" do cwd drupal_path options %W{views stable ... --use-site-dir=default} end

where

  • +cwd+ drupal work directory
  • +command+ is the name of the command that will be run
  • +options+ is zero (or more) of the specific command available options
  • +:action+ is the step that the resource will ask the provider to take during the chef-client. +:run+ Default. Indicates that the command should be run or +:nothing+.