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.