-
Notifications
You must be signed in to change notification settings - Fork 250
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. |