Drupal build, test, and deployment CLI.
JavaScript PHP
Latest commit 5e151d7 Oct 3, 2016 @chasingmaxwell chasingmaxwell committed on GitHub Merge pull request #178 from aquifer/defaults-merge
Arrays in aquifler.local.json should overwrite those in aquifer.json

README.md

Aquifer

Aquifer is a command line interface that makes it easy to scaffold, build, test, and deploy your Drupal websites. It provides a default set of tools that allow you to develop, and build Drupal sites using the Drush-make workflow. In addition, Aquifer ships with an extensions system that allows you to add additional tools to your project.

Supported Software

Aquifer Version Node Version
1.0.0 >= 4.5.0
1.0.0-beta2 >= 4.5.0

Installation

Aquifer is an npm module, installing it is relatively painless:

  • Ensure that the latest version of Node.js and npm are installed. We recommend using nvm to do this.
  • Install Drush. Aquifer is compatible with Drush 7.x and 6.x.
  • In your command line, run: npm install -g aquifer
  • To install the Aquifer beta instead, run: npm install -g aquifer@1.0.0-beta1

Aquifer should now be installed!

Use

Aquifer has some helpful command line documentation. Run aquifer --help to get a list of the commands that are availble to you at any given time. If you need documentation for a specific command, run aquifer commandName --help.

If you need more in-depth documentation, checkout these wiki documents:

Quick-start guide

You can easily get started using Aquifer with just a couple commands.

1. Create an Aquifer project

To create an Aquifer-based Drupal project, run the following command:

aquifer create mySiteName

By default, a Drupal 8 build is implied. To create a Drupal 7 project, run the following command:

aquifer create mySiteName -d 7

The mySiteName directory will now contain an Aquifer project with an number of files/folders. For information on what each file and folder is, checkout this document in the wiki.

2. Building a Drupal site

Aquifer projects build into a Drupal site root in the build directory. To build the Drupal site, run:

aquifer build

This command will use Drush make and other tools to construct a Drupal site root, which will now be located in the build folder, or whatever folder is specified in aquifer.json in the build object's directory property.

Using Composer (Drupal 8 support only)

Edit the aquifer.json file in your project root and change the build object to look like this:

"build": {
  "method": "composer",
  "directory": "build",
  "makeFile": "composer.json"
}

Now aquifer build will use Composer to build the site instead of Drush make.

Note that if you wnat to change the build.directory property in aquifer.json to something else, you will also need to edit composer.json and alter any paths there to incorporate your new build directory value.

3. Adding contrib modules

To add contrib modules to your project, simply edit the drupal.make.yml file and add your contrib modules there. To learn more about Drush Make, see http://www.drush.org/en/master/make/

Aquifer makes optional use of Drush make lock files. If you make a change to drupal.make.yml after you've already built your site, you'll need to add the --refresh-lock flag to the aquifer build command so that the lock file is recalculated when your site root is constructed.

For more details, visit the documentation page for the build system.

4. Adding custom code

Custom themes should be added to the themes folder within the Aquifer root, and likewise custom modules should be added to the modules/custom folder, or modules/features folder if the custom module is a feature. When you build the site, Aquifer will symlink those files into your site root.

Useful extensions

Several extensions for Aquifer already exist, and you may find them useful:

  • Aquifer Git - Deploy Aquifer builds to a git repository (like Pantheon or Acquia).
  • Aquifer Coder - Coding standards sniffing and linting utility.
  • Aquifer Drush - Drush wrapper for Aquifer.
  • Aquifer Artifact - Aquifer extension for creating artifacts for deployment.

Contributing

Use the project, fork it, and submit PRs. We are responsive and will review them as soon as possible!

Special thanks to...

These humanoids (in alphabetical order) are responsible for creating and maintaining Aquifer:

Credits and usage

Aquifer is a trademark of Four Kitchens, LLC. You are free to use the logo to promote the Aquifer product so long as you do not modify it in any way.

Drupal is a registered trademark of Dries Buytaert.