Installation
Capistrano is bundled as a Ruby Gem. It requires Ruby 2.0 or newer.
Capistrano can be installed as a standalone Gem, or bundled into your application.
It is recommended to fix the version number when using Capistrano, and is therefore recommended to use an appropriate bundler.
General Usage
The following command will install the latest released capistrano v3
revision:
$ gem install capistrano
Or grab the bleeding edge head from:
$ git clone https://github.com/capistrano/capistrano.git
$ cd capistrano
$ gem build *.gemspec
$ gem install *.gem
Usage in a Rails project
Add the following lines to the Gemfile:
group :development do
gem "capistrano", "~> 3.10", require: false
gem "capistrano-rails", "~> 1.3", require: false
end
The capistrano-rails
gem includes extras specifically designed for Ruby on
Rails, specifically:
- Asset Pipeline Support
- Database Migration Support
The documentation for these components can be found in
their,
respective,
READMEs. However for the most
part, to get the best, and most sensible results, simply require
in
Capfile, after the require 'capistrano/deploy'
line:
require 'capistrano/rails'
SSH
Capistrano deploys using SSH. Thus, you must be able to SSH (ideally with keys and ssh-agent) from the deployment system to the destination system for Capistrano to work.
You can test this using a ssh client, e.g. ssh myuser@destinationserver
. If
you cannot connect at all, you may need to set up the SSH server or resolve
firewall/network issues. Look for a tutorial (here are suggestions for
Ubuntu and
RedHat/CentOS).
If a password is requested when you log in, you may need to set up SSH keys.
GitHub has a good tutorial
on creating these (follow steps 1 through 3). You will need to add your public
key to ~/.ssh/authorized_keys
on the destination server as the deployment user
(append on a new line).
More information on SSH and login is available via the Authentication and Authorisation section of the guide.
If you are still struggling to get login working, try the Capistrano SSH Doctor plugin.
Help! I was using Capistrano v2.x
and I didn’t want to upgrade!
If you are using Capistrano v2.x.x
and have also installed Capistrano v3
by mistake, then you can lock your Gem version for Capistrano at something
like:
gem 'capistrano', '~> 2.15' # Or whatever patch release you are using
This is the pessimistic operator which
installs the closest matching version, at the time of writing this would
install 2.15.4
, and any other point-release in the 2.15.x
family without
the risk of accidentally upgrading to v3
.