Rails Environment Specific Capistrano Includes/Overrides
Add your environment specific cap scripts into RAILS_ROOT/config/deployments/.
Example command-line usage:
# RAILS_ENV=production cap deploy
...or...
# cap deploy rails_env=beta
# Example needed variables at the top of your deploy.rb set :default_env, 'beta' set :rails_env, ENV['rails_env'] || ENV['RAILS_ENV'] || default_env set :extra_deploys, 'config/deployments/' ... # Now add this to the bottom of your deploy.rb, last thing to load. if extra_deploys && File.exists?(extra_deploys+rails_env+".rb") puts "Loaded #{extra_deploys+rails_env}.rb" if load extra_deploys+rails_env else puts "Could not find #{extra_deploys+rails_env}.rb" end
You may change your default_env or any other piece to fit into your deployments. The secret is "load" method call burried in that latter code portion above. The reason you load at the end of your deploy.rb is so you can override anything defined above that call in your environment specific scripts.