is a command-line shell and scripting interface for Drupal, a veritable
Swiss Army knife designed to make life easier for those who spend
their working hours hacking away at the command prompt
Drush: Make Capabilities
Downloading Drupal core, as well as contrib modules from drupal.org.
Checking code out from SVN, git, and bzr repositories.
Getting plain `.tar.gz` and `.zip` files (particularly useful for libraries
that can not be distributed directly with drupal core or modules).
Fetching and applying patches.
Fetching modules, themes, and installation profiles, but also external
not really important in deployment
Features: Drush Integration
Revert all enabled feature module on your site.
drush fra -y
A command processor, typically run in a text window, allowing the
user to type commands which cause actions. Bash can also read
commands from a file, called a script. Like all Unix shells, it supports
filename wildcarding, piping, here documents, command
substitution, variables and control structures for condition-testing
and iteration. - Wikipedia
Bash Scripting: Sample
if [ ! -d “$path”]; then
chown www-data:www-data $path
Bash Scripting: Drush
drush cc all
drush updb -y
drush fra -y
drush cc all
echo “Delployment done!”
I don't know Bash!
You can also use Python, Shell, or Perl. Use the one that
you're comfortable with. Just remember, DRY and KISS.
Open-souce automation software that helps system administrators
manage infrastructure throughout its lifecycle, from provisioning and
configuration to orchestration and reporting.
A systems and cloud infrastructure automation framework that
makes it easy to deploy servers and applications to any physical,
virtual, or cloud location, no matter the size of the infrastructure.
Ansible configures operating systems, deploys applications, runs
parallel commands, and orchestrates IT processes like zero-downtime
rolling updates. It uses SSH by default, so no special software has to
be installed to start managing remote machines. Modules can be
written in any language.
Juju is a powerful service orchestration tool from Ubuntu that helps
you define, configure and deploy services to any cloud quickly and
Capistrano was originally designed to simplify and automate
deployment of web applications to distributed environments.
Docker is an open-source project to easily create lightweight,
portable, self-sufficient containers from any application. The same
container that a developer builds and tests on a laptop can run at
scale, in production, on VMs, bare metal, OpenStack clusters, public
clouds and more.
for managing physical and virtual server
distributed continuous integration service used to build and test
An extendable open source continuous integration server. Built with
Java, it provides 829 plugins to support building and testing virtually
Maven allows a project to build using its project object model (POM)
and a set of plugins that are shared by all projects using Maven,
providing a uniform build system.
Is a file transfer program for Unix systems. rsync uses the "rsync
algorithm" which provides a very fast method for bringing remote
files into sync. It does this by sending just the differences in the files
across the link, without requiring that both sets of files are present
at one of the ends of the link beforehand.