-
Notifications
You must be signed in to change notification settings - Fork 252
Configuration Parameters
hiephm edited this page Sep 2, 2012
·
11 revisions
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. |