Capistrano Variables
While reading through Capistrano’s code I’ve come across many the variables used to configure deploy.rb
. So I don’t forget them when I need them, I’ll document them here:
- application – required
- repository – required
-
scm – defaults to
:subversion
-
deploy_via – defaults to
:checkout
- revision – defaults to the latest head version
- rails_env – defaults to ‘production’
- rake – defaults to ‘rake’
-
source –
Capistrano::Deploy::SCM
object - real_revision
-
strategy –
Capistrano::Deploy::Strategy
object defined bydeploy_via
- release_name – timestamp in the form of “%Y%m%d%H%M%S”
- version_dir – defaults to ‘releases’
- shared_dir – defaults to ‘shared’
-
shared_children – defaults to
['public/system', 'log', 'tmp/pids']
- current_dir – defaults to ‘current’
- releases_path – path of deploy_to + version_dir (e.g. /u/apps/example/releases )
- shared_path – path of deploy_to + shared_dir (e.g. /u/apps/example/shared )
- current_path – path of deploy_to + current_dir (e.g. /u/apps/example/current )
- release_path – path of releases_path + release_name (e.g. /u/apps/example/releases/20100624000000 )
-
releases – list of releases, found by running
ls -x
- current_release – path of releases_path + last release (e.g. /u/apps/example/releases/20100624000000 )
- previous_release – path of releases_path + previous release (e.g. /u/apps/example/releases/20100623000000 )
- current_revision – revision id of the current release, found in the REVISION file
- latest_revision – revision id of the latest release
- previous_revision – revision id of the previous release
-
run_method – either
:run
or:sudo
depending on if:use_sudo
is set - latest_release – release path or the current release depending on if the current symlink is valid
-
maintenence_basename – defaults to “maintenance”. This and
maintenence_tempate_path
are used to customize the page shown when the application is disabled (e.g.cap deploy:web:disable
) - maintenence_template_path – defaults to the ‘templates/maintenance.rhtml’ path
- migrate_env
-
migrate_target – the version to migrate to. Defaults to
:latest
.
All of these variables come from lib/capistrano/recipes/deploy.rb.
Updated for Capistrano 2.15.4 on 2013-09-19.
Don’t forget: port
Any chance these have drifted out-of-date? The post is three years old now…
They might have. Some of the more important ones like repository, deploy_via, and scm are still used since those are what you use to configure capistrano. I’ll do a refresh of the variables based on the latest version.