Skip to content

Configuration Parameters

hiephm edited this page Sep 2, 2012 · 11 revisions

Available Configuration Parameter

This is a probably incomplete list of all configuration parameters for Webistrano and Capistrano.

Capistrano variables can be set like so:

set :name, 'value'

To see a listing of specific Capistrano variables consult the Capistrano Variables page.

In Webistrano you create a new configuration parameter on the project or stage.

The most important parameters are the following:

Name Default Optional? Description
application no Name of application, referenced by other variables
deploy_to “/u/apps/#{application}” yes Absolute path to deployment base
deploy_via :checkout yes Deployment strategy to use, a :checkout will do a full SCM checkout, while a :copy will checkout locally, then tar and gzip the copy and sftp it to the remote servers. Allowed values are :checkout, :export, :copy and :remote_cache. See also the copy_strategy and copy_compression parameter
repository no SCM path for project, e.g. svn+ssh://svn.host.com/project
password no SSH Password for user
user local UNIX user yes Username for SSH login on remote hosts
scm_password password yes SCM password for scm_user
scm_username user yes Username for SCM
use_sudo true yes Whether to use sudo for remote commands
runner app yes Remote User sudo to if use_sudo is true
scm :subversion yes SCM class to use, allowed: :subversion, :cvs, :bzr, :darcs, :mercurial, :perforce, :none
copy_strategy :checkout yes If you use deploy_via with :copy, this defines how the local files are created. :checkout or :export allowed.
branch HEAD yes Git branch, tag or SHA1 to deploy
remote origin yes Git: Name of remote tracking repository. This option is intended for use with the :remote_cache strategy in a distributed git environment

For further tuning:

Name Default Optional? Description
copy_compression :gzip yes Compression method for copying to the SCM file to the remote servers Allowed: :gzip, :gz, :bzip2, :bz2, :zip
repository_cache cached-copy yes Name of directory under shared_path that will be used for :remote_cache SCM strategy
copy_remote_dir /tmp yes Name of directory that the :copy SCM strategy will use on the remote host for temp. unpacking of project
copy_dir Dir.tmpdir yes Name of directory that the :copy SCM strategy will use on the local host for temp. packing of project
rails_env production yes RAILS_ENV, used by migrations. For the RAILS_ENV of the application server set it either in your our mongrel.conf or in your spin script if you use FastCGI
rake rake yes Name and path of Rake program
sudo sudo yes Name and path of sudo program
scm_command yes Dependent of SCM strategie, e.g. ‘svn’ for subversion
scm_verbose false yes If set to true the output the the SCM command will be logged
scm_passphrase yes Git: passphrase for the user’s key
scm_prefer_prompt false yes By default Capistrano will pass the SCM password as a command line argument (—password XXXX) to subversion. If set to true Capistrano will wait for subversion to prompt for the password and then pass it.
scm_auth_cache false yes If set to true subversion will cache the authentication (so no —no-auth-cache is passed).
migrate_env rails_env yes Additional Environment variables for rake db:migrate can be set here. The migraion environment itself is set through rails_env.
migrate_target :latest yes VERSION for db:migrate by default the lastest
gem_command gem yes Name and path of gem program
keep_releases 5 yes How many releases to keep after deploy:cleanup is run
gateway yes Name of SSH gateway
admin_runner root yes User to sudo to for deploy:setup and deploy:cleanup
normalize_asset_timestamps true yes Set to false to disable asset timestamping with touch
default_shell /bin/bash yes default shell for tasks
shell /bin/bash yes shell for tasks
git_enable_submodules false yes will init and update git submodules
git_shallow_clone false yes Git: Set to ‘1’ for faster git cloning. This will set the ‘—depth’ flag using the depth specified. This cannot be used together with the :remote_cache strategy.

Webistrano specific:

Name Default Optional? Description
mongrel_config no for Mongrel projects Absolute path to mongrel_cluster configuration file
mod_rails_restart_file no for mod_rails projects Absolut path to restart.txt
apache_init_script no for mod_rails projects Absolut path to Apache2.2 init script, e.g. /etc/init.d/apache22
ssh_port yes Global setting of the SSH port of all remote hosts. In pure Capistrano this is set through ssh_options[:port]
ssh_keys yes List of paths to SSH key ids, in pure Capistrano this is set through ssh_options[:keys]. Make sure to also have the public key next to the private key. If ssh_keys is set to /my/path/id_rsa then there should be a /my/path/id_rsa.pub file accessible to the user running Webistrano.
webistrano_stage yes Access to the current stage that you’re deploying. Useful if you have stage-specific configs that you need to symlink against.
Clone this wiki locally