This project is not covered by Drupal’s security advisory policy.
Drush tools to enhance and improve Drupal development operations and workflow.
The project's purpose is to allow Drupal Developers to:
- Reduce typical Drupal development workflows down to one step (one Drush command).
- Create re-usable and share-able Drupal development operations and workflows.
Visit http://palantirnet.github.io/rush/html/ to view full project documentation.
Example Usage
Run a Drush Rush command like:
drush rush myjob.init
To parse the job folder's rush files for build parameters and build operations and then execute the following operations:
- Make the build directory
- Put the directory in the web root
- Add other directories and files to the build (setup the build skeleton)
- Create a docroot folder for the Drupal code base
- Build the code base with Drush Make using specified makefile(s) and prepare the site for install
- Create the specified database
- Create the specified dns and virtual host entries
- Run any pre-build commands
- Run any pre-build scripts
- Create build aliases.drushrc.php files
- Install the site
- Change variable values as specified
- Run any post-build commands
- Run any post-build scripts
- Put the build under version control
- Create a remote repo (such as on GITHUB), commit the code, and push it
Background
This project originates out of experience using Jenkins to automate building and testing Drupal projects.
Note: Jenkins is an extendable open source continuous integration server. Visit: http://jenkins-ci.org/ for more information.
Beyond its excellent tool set to execute and monitor the results of repeated build jobs, Jenkins is a good tool to automate repetitive workflows for developers.
For example, if a developer needs to work on a website locally, he or she typically must:
- Get the code via a Versions Control System like git
- Switch to a branch or tag to work on
- Change or add some parameters in settings files to match the development environment
- Get the db export
- Create a testing db
- Import the db snapshot
- Create a local host file entry
- Restart Apache
That's eight steps before starting to code.
Jenkins can automate many of these common developer workflows, using job parameters to let developers simply enter a project name and a branch and then run a Jenkins job to do their repetitive build work for them.
Like Jenkins, Drush Rush is a tool to run parameterized builds with Drush. In most cases the build jobs are a series of core drush commands chained together to complete a full build process with a single command.
A Few Points about Drush Rush Jobs
- Drush Rush jobs are written once then used repeatedly. There is probably little value to writing a Drush Rush job for a one time build process.
- Drush Rush jobs are extendable. Complex jobs may be written by extending and or combining similar jobs.
- Drush Rush jobs are shareable so a job written by one developer may be shared with many.
- Drush Rush jobs are light weight. Drush Rush may be used to execute steps as part of a continuous integration or automated testing process, however, it is not a CI or Testing Suite.
Sponsors
Development is sponsored by Palantir.net.
Project information
- Module categories: Developer Tools
- Created by Sean Buscay on , updated
- This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
Releases
Development version: 7.x-1.x-dev updated 10 Jan 2014 at 22:53 UTC