Available tasks
---------------
after_update_code Perform any post code deployment tasks
e.g.Copy production version of
database.yml

after_update_current Perform any post code deployment tasks
e.g.Copy production version of
database.yml

capserverext_usage Usage of prepare host task:

cleanup Removes unused releases from the releases
directory. By default, the last 5 releases
are retained, but this can be configured
with the 'keep_releases' variable. This
will use sudo to do the delete by default,
but you can specify that run should be
used by setting the :use_sudo variable to
false.

cold_deploy Used only for deploying when the spinner
isn't running. It invokes 'update', and
when it finishes it then invokes the
spinner task (to start the spinner).

compile_nginx downloads, configures, compiles and
installs latest nginx version

configure_apache Configure Apache. This uses the :use_sudo
variable to determine whether to use sudo
or not. By default, :use_sudo is set to
true.

configure_mongrel_cluster Configure Mongrel processes on the app
server. This uses the :use_sudo variable
to determine whether to use sudo or not.
By default, :use_sudo is set to true.

configure_nginx Configure Nginx. Depends on setup_nginx
and setup tasks. This uses the :use_sudo
variable to determine whether to use sudo
or not. By default, :use_sudo is set to
true.

deploy A macro-task that updates the code, fixes
the symlink, and restarts the application
servers.

deploy_with_migrations Similar to deploy, but it runs the migrate
task on the new release before updating
the symlink. (Note that the update in this
case it is not atomic, and transactions
are not used, because migrations are not
guaranteed to be reversible.)

deprec_setup Set up the expected application directory
structure on all boxes

diff_from_last_deploy Displays the diff between HEAD and what
was last deployed. (Not available with all
SCM's.)

disable_cdrom_install disable cdrom as a source of packages

disable_multiverse disable universe repositories

disable_universe disable universe repositories

disable_web Disable the web server by writing a
"maintenance.html" file to the web
servers. The servers must be configured to
detect the presence of this file, and if
it is present, always display it instead
of performing the request.

enable_multiverse enable multiverse repositories

enable_universe enable universe repositories

enable_web Re-enable the web server by deleting any
"maintenance.html" file.

execute_mysql Execute MySQL statements using --execute
option. Set the 'sql' variable.

execute_postgres Execute PostgreSQL statements using
--command option. Set the 'sql' variable.

import_svn Import code into svn repository.

install_apache

install_gems

install_image_magic installs image magick packages

install_mongrel_start_script Install start script on the app server

install_nginx installs nginx on a ubuntu box

install_nginx_prequisites installs nginx compile prerequisites on a
ubuntu box

install_nginx_start_script Install init script on the web server

install_packages_for_rails installs packages required for a rails box

install_packages_for_rails_mysql installs packages required for a rails box
with mysql

install_packages_for_rails_postgres installs packages required for a rails box
with postgres

install_postfix install postfix and dependent packages

install_rails_stack setup_rails_host takes a stock standard
ubuntu 'dapper' 6.06.1 server and installs
everything needed to be a rails machine

install_rails_stack_apache_mysql Takes a stock standard ubuntu 'dapper'
6.06.1 server and installs everything
needed to be a rails machine with apache
and mysql db

install_rails_stack_apache_postgres Takes a stock standard ubuntu 'dapper'
6.06.1 server and installs everything
needed to be a rails machine with apache
and postgres db

install_rails_stack_nginx_mysql Takes a stock standard ubuntu 'dapper'
6.06.1 server and installs everything
needed to be a rails machine with nginx
and mysql db

install_rails_stack_nginx_postgres Takes a stock standard ubuntu 'dapper'
6.06.1 server and installs everything
needed to be a rails machine with nginx
and postgres db

install_rmagick install the rmagic gem, and dependent
image-magick library

install_rubygems

invoke A simple task for performing one-off
commands that may not require a full task
to be written for them. Simply specify the
command to execute via the COMMAND
environment variable. To execute the
command only on certain roles, specify the
ROLES environment variable as a
comma-delimited list of role names.
Lastly, if you want to execute the command
via sudo, specify a non-empty value for
the SUDO environment variable.

migrate Run the migrate rake task. By default, it
runs this in the version of the app
indicated by the 'current' symlink. (This
means you should not invoke this task
until the symlink has been updated to the
most recent version.) However, you can
specify a different release via the
migrate_target variable, which must be one
of "current" (for the default behavior),
or "latest" (for the latest release to be
deployed with the update_code task). You
can also specify additional environment
variables to pass to rake via the
migrate_env variable. Finally, you can
specify the full path to the rake
executable by setting the rake variable.

nginx_postgres_rails_setup Set up the expected application directory
structure on all boxes

prepare_host prepare_host takes a stock standard ubuntu
'dapper' 6.06.1 server and installs,
compiles, configures everything needed to
be a rails machine. The combination of web
server and database is given by the
':deprec_combination' variable (default:
nginx_postgres)

prepare_ssh Sets up future ssh connections through a
non-standard port given by
ssh_security_port (default: 8888)

reload_apache Reload Apache

reload_nginx Reload Nginx

restart Restart the Mongrel processes on the app
server by calling restart_mongrel_cluster.

restart_apache Restart Apache

restart_app Restart application server.

restart_mongrel_cluster Restart the Mongrel processes on the app
server by starting and stopping the
cluster. This uses the :use_sudo variable
to determine whether to use sudo or not.
By default, :use_sudo is set to true.

restart_nginx Restart Nginx

rollback A macro-task that rolls back the code and
restarts the application servers.

rollback_code Rollback the latest checked-out version to
the previous one by fixing the symlinks
and deleting the current release from all
servers.

set_permissions Sets group permissions on checkout. Useful
for team environments, bad on shared
hosts. Override this task if you're on a
shared host.

setup Set up the expected application directory
structure on all boxes

setup_admin_account

setup_admin_account_as_root

setup_apache

setup_apache_mysql_servers setup and configure servers for apache and
mysql

setup_apache_postgres_servers setup and configure servers for apache and
postgres

setup_app Setup application server.

setup_db Setup database server.

setup_mongrel_cluster_path setup mongrel_cluster paths

setup_mysql Create MySQL database and user based on
config/database.yml

setup_nginx Sets up required directories for nginx
configuration

setup_nginx_mysql_servers setup and configure servers for nginx and
mysql

setup_nginx_postgres_servers setup and configure servers for nginx and
postgres

setup_paths setup extra paths required for deployment

setup_postgres Create PostgreSQL database and user based
on config/database.yml

setup_postgres_db Setup postgres database server.

setup_scm Setup source control server.

setup_servers setup and configure servers

setup_smtp_server install and configure postfix

setup_ssh_keys Copies contents of ssh public keys into
authorized_keys file

setup_ssh_keys_for_admin_user Copies contents of ssh public keys into
authorized_keys file

setup_svn Setup svn repository

setup_symlinks Setup public symlink directories

setup_user_account Sets up a unix user admin account. Gives
full sudoer privileges to this user. This
will be the current deployment user.

setup_user_perms create deployment group and add current
user to it

setup_web Setup web server.

setup_web_for_nginx Setup nginx web server.

shell Begin an interactive Capistrano session.
This gives you an interactive terminal
from which to execute tasks and commands
on all of your servers. (This is still an
experimental feature, and is subject to
change without notice!)

show_tasks Enumerate and describe every available
task.

spinner Start the processes on the application
server by calling start_app.

start_apache Start Apache

start_app Start application server.

start_mongrel_cluster Start Mongrel processes on the app server.
This uses the :use_sudo variable to
determine whether to use sudo or not. By
default, :use_sudo is set to true.

start_nginx Start Nginx

stop_apache Stop Apache

stop_mongrel_cluster Stop the Mongrel processes on the app
server. This uses the :use_sudo variable
to determine whether to use sudo or not.
By default, :use_sudo is set to true.

stop_nginx Stop Nginx

svn_cache_credentials Cache svn name and password on the server.
Useful for http-based repositories.

svn_remove_log_and_tmp remove and ignore log files and tmp from
subversion

symlink Update the 'current' symlink to point to
the latest version of the application's
code.

symlink_public Link up any public directories.

update Updates the code and fixes the symlink
under a transaction

update_code Update all servers with the latest release
of the source code. All this does is do a
checkout (as defined by the selected scm
module).

update_current Update the currently released version of
the software directly via an SCM update
operation

uptime Display the current uptime and load for
all servers, nicely formatted with columns
all lined up for easy scanning.

watch_load Watch the load on the servers. Display is
updated every 30 seconds by default,
though you can specify a DELAY environment
variable to make it update more or less
frequently.

watch_requests Watch the number of requests/sec being
logged on the application servers. By
default, the "production.log" is watched,
but if your log is named something else,
you can specify it in the log_name
variable.