2010-10-04 08:33:48 -04:00
|
|
|
## Capistrano
|
|
|
|
|
Release 2.7.0
A fairly substantial release. There are fixes so that current_release
works
during dry-runs, (although, apparently still not with bundler.)
The test-suite was also modified to work with Ruby 1.9.2, except in one
case
where Ruby 1.9.x calls `to_ary` and `to_a` on mocks, which still makes
an
error. 1.9.x has always been supported, but due to lack of maintenance
on my
part the tests didn't ever pass.
The `start`, `stop` and `restart` tasks have been reduced to mere hooks
into
which extensions can define their own functionality.
The `readme` was also slightly improved, simply tweaks to express how
best to
run the test suite.
* Ensure dry-run works with `:current_release` variable (Carol Nichols)
* Added a new variable `:git_submodules_recursive`, setting the value to
* false
will ensure Git doesn't recursively initialize and checkout submodules.
(Konstantin Kudryashov)
* Added an additional task option, `:on_no_matching_servers`, setting
* the
value to `:continue` will ensure tasks with no matched servers continue
without error, instead of raising `Capistrano::NoMatchingServersError`
as was
the previous behaviour. (Chris Griego)
A huge thanks to all contributors, as always!
Remember: @capistranorb on twitter for news.
2011-08-02 20:11:19 -04:00
|
|
|
Capistrano is a utility and framework for executing commands in parallel on
|
|
|
|
multiple remote machines, via SSH. It uses a simple DSL (borrowed in part from
|
|
|
|
[Rake](http://rake.rubyforge.org/)) that allows you to define _tasks_, which may
|
|
|
|
be applied to machines in certain roles. It also supports tunneling connections
|
|
|
|
via some gateway machine to allow operations to be performed behind VPN's and
|
|
|
|
firewalls.
|
2010-10-04 08:33:48 -04:00
|
|
|
|
Release 2.7.0
A fairly substantial release. There are fixes so that current_release
works
during dry-runs, (although, apparently still not with bundler.)
The test-suite was also modified to work with Ruby 1.9.2, except in one
case
where Ruby 1.9.x calls `to_ary` and `to_a` on mocks, which still makes
an
error. 1.9.x has always been supported, but due to lack of maintenance
on my
part the tests didn't ever pass.
The `start`, `stop` and `restart` tasks have been reduced to mere hooks
into
which extensions can define their own functionality.
The `readme` was also slightly improved, simply tweaks to express how
best to
run the test suite.
* Ensure dry-run works with `:current_release` variable (Carol Nichols)
* Added a new variable `:git_submodules_recursive`, setting the value to
* false
will ensure Git doesn't recursively initialize and checkout submodules.
(Konstantin Kudryashov)
* Added an additional task option, `:on_no_matching_servers`, setting
* the
value to `:continue` will ensure tasks with no matched servers continue
without error, instead of raising `Capistrano::NoMatchingServersError`
as was
the previous behaviour. (Chris Griego)
A huge thanks to all contributors, as always!
Remember: @capistranorb on twitter for news.
2011-08-02 20:11:19 -04:00
|
|
|
Capistrano was originally designed to simplify and automate deployment of web
|
|
|
|
applications to distributed environments, and originally came bundled with a set
|
|
|
|
of tasks designed for deploying Rails applications.
|
2010-10-04 08:33:48 -04:00
|
|
|
|
|
|
|
## Documentation
|
|
|
|
|
2011-04-27 13:22:26 -04:00
|
|
|
* [http://github.com/capistrano/capistrano/wiki/Documentation-v2.x](http://github.com/capistrano/capistrano/wiki/Documentation-v2.x)
|
2010-10-04 08:33:48 -04:00
|
|
|
|
|
|
|
## DEPENDENCIES
|
|
|
|
|
2011-04-27 13:22:26 -04:00
|
|
|
* [Net::SSH](http://net-ssh.rubyforge.org)
|
|
|
|
* [Net::SFTP](http://net-ssh.rubyforge.org)
|
|
|
|
* [Net::SCP](http://net-ssh.rubyforge.org)
|
|
|
|
* [Net::SSH::Gateway](http://net-ssh.rubyforge.org)
|
|
|
|
* [HighLine](http://highline.rubyforge.org)
|
2010-10-04 08:33:48 -04:00
|
|
|
|
Release 2.7.0
A fairly substantial release. There are fixes so that current_release
works
during dry-runs, (although, apparently still not with bundler.)
The test-suite was also modified to work with Ruby 1.9.2, except in one
case
where Ruby 1.9.x calls `to_ary` and `to_a` on mocks, which still makes
an
error. 1.9.x has always been supported, but due to lack of maintenance
on my
part the tests didn't ever pass.
The `start`, `stop` and `restart` tasks have been reduced to mere hooks
into
which extensions can define their own functionality.
The `readme` was also slightly improved, simply tweaks to express how
best to
run the test suite.
* Ensure dry-run works with `:current_release` variable (Carol Nichols)
* Added a new variable `:git_submodules_recursive`, setting the value to
* false
will ensure Git doesn't recursively initialize and checkout submodules.
(Konstantin Kudryashov)
* Added an additional task option, `:on_no_matching_servers`, setting
* the
value to `:continue` will ensure tasks with no matched servers continue
without error, instead of raising `Capistrano::NoMatchingServersError`
as was
the previous behaviour. (Chris Griego)
A huge thanks to all contributors, as always!
Remember: @capistranorb on twitter for news.
2011-08-02 20:11:19 -04:00
|
|
|
If you want to run the tests, you'll also need to install the dependencies with
|
|
|
|
Bundler, see the `Gemfile` within .
|
2010-10-04 08:33:48 -04:00
|
|
|
|
|
|
|
## ASSUMPTIONS
|
|
|
|
|
Release 2.7.0
A fairly substantial release. There are fixes so that current_release
works
during dry-runs, (although, apparently still not with bundler.)
The test-suite was also modified to work with Ruby 1.9.2, except in one
case
where Ruby 1.9.x calls `to_ary` and `to_a` on mocks, which still makes
an
error. 1.9.x has always been supported, but due to lack of maintenance
on my
part the tests didn't ever pass.
The `start`, `stop` and `restart` tasks have been reduced to mere hooks
into
which extensions can define their own functionality.
The `readme` was also slightly improved, simply tweaks to express how
best to
run the test suite.
* Ensure dry-run works with `:current_release` variable (Carol Nichols)
* Added a new variable `:git_submodules_recursive`, setting the value to
* false
will ensure Git doesn't recursively initialize and checkout submodules.
(Konstantin Kudryashov)
* Added an additional task option, `:on_no_matching_servers`, setting
* the
value to `:continue` will ensure tasks with no matched servers continue
without error, instead of raising `Capistrano::NoMatchingServersError`
as was
the previous behaviour. (Chris Griego)
A huge thanks to all contributors, as always!
Remember: @capistranorb on twitter for news.
2011-08-02 20:11:19 -04:00
|
|
|
Capistrano is "opinionated software", which means it has very firm ideas about
|
|
|
|
how things ought to be done, and tries to force those ideas on you. Some of the
|
|
|
|
assumptions behind these opinions are:
|
2010-10-04 08:33:48 -04:00
|
|
|
|
|
|
|
* You are using SSH to access the remote servers.
|
Release 2.7.0
A fairly substantial release. There are fixes so that current_release
works
during dry-runs, (although, apparently still not with bundler.)
The test-suite was also modified to work with Ruby 1.9.2, except in one
case
where Ruby 1.9.x calls `to_ary` and `to_a` on mocks, which still makes
an
error. 1.9.x has always been supported, but due to lack of maintenance
on my
part the tests didn't ever pass.
The `start`, `stop` and `restart` tasks have been reduced to mere hooks
into
which extensions can define their own functionality.
The `readme` was also slightly improved, simply tweaks to express how
best to
run the test suite.
* Ensure dry-run works with `:current_release` variable (Carol Nichols)
* Added a new variable `:git_submodules_recursive`, setting the value to
* false
will ensure Git doesn't recursively initialize and checkout submodules.
(Konstantin Kudryashov)
* Added an additional task option, `:on_no_matching_servers`, setting
* the
value to `:continue` will ensure tasks with no matched servers continue
without error, instead of raising `Capistrano::NoMatchingServersError`
as was
the previous behaviour. (Chris Griego)
A huge thanks to all contributors, as always!
Remember: @capistranorb on twitter for news.
2011-08-02 20:11:19 -04:00
|
|
|
* You either have the same password to all target machines, or you have public
|
|
|
|
keys in place to allow passwordless access to them.
|
2010-10-04 08:33:48 -04:00
|
|
|
|
|
|
|
Do not expect these assumptions to change.
|
|
|
|
|
|
|
|
## USAGE
|
|
|
|
|
|
|
|
In general, you'll use Capistrano as follows:
|
|
|
|
|
|
|
|
* Create a recipe file ("capfile" or "Capfile").
|
|
|
|
* Use the `cap` script to execute your recipe.
|
|
|
|
|
|
|
|
Use the `cap` script as follows:
|
|
|
|
|
Release 2.7.0
A fairly substantial release. There are fixes so that current_release
works
during dry-runs, (although, apparently still not with bundler.)
The test-suite was also modified to work with Ruby 1.9.2, except in one
case
where Ruby 1.9.x calls `to_ary` and `to_a` on mocks, which still makes
an
error. 1.9.x has always been supported, but due to lack of maintenance
on my
part the tests didn't ever pass.
The `start`, `stop` and `restart` tasks have been reduced to mere hooks
into
which extensions can define their own functionality.
The `readme` was also slightly improved, simply tweaks to express how
best to
run the test suite.
* Ensure dry-run works with `:current_release` variable (Carol Nichols)
* Added a new variable `:git_submodules_recursive`, setting the value to
* false
will ensure Git doesn't recursively initialize and checkout submodules.
(Konstantin Kudryashov)
* Added an additional task option, `:on_no_matching_servers`, setting
* the
value to `:continue` will ensure tasks with no matched servers continue
without error, instead of raising `Capistrano::NoMatchingServersError`
as was
the previous behaviour. (Chris Griego)
A huge thanks to all contributors, as always!
Remember: @capistranorb on twitter for news.
2011-08-02 20:11:19 -04:00
|
|
|
cap sometask
|
2010-10-04 08:33:48 -04:00
|
|
|
|
Release 2.7.0
A fairly substantial release. There are fixes so that current_release
works
during dry-runs, (although, apparently still not with bundler.)
The test-suite was also modified to work with Ruby 1.9.2, except in one
case
where Ruby 1.9.x calls `to_ary` and `to_a` on mocks, which still makes
an
error. 1.9.x has always been supported, but due to lack of maintenance
on my
part the tests didn't ever pass.
The `start`, `stop` and `restart` tasks have been reduced to mere hooks
into
which extensions can define their own functionality.
The `readme` was also slightly improved, simply tweaks to express how
best to
run the test suite.
* Ensure dry-run works with `:current_release` variable (Carol Nichols)
* Added a new variable `:git_submodules_recursive`, setting the value to
* false
will ensure Git doesn't recursively initialize and checkout submodules.
(Konstantin Kudryashov)
* Added an additional task option, `:on_no_matching_servers`, setting
* the
value to `:continue` will ensure tasks with no matched servers continue
without error, instead of raising `Capistrano::NoMatchingServersError`
as was
the previous behaviour. (Chris Griego)
A huge thanks to all contributors, as always!
Remember: @capistranorb on twitter for news.
2011-08-02 20:11:19 -04:00
|
|
|
By default, the script will look for a file called one of `capfile` or
|
|
|
|
`Capfile`. The `someaction` text indicates which task to execute. You can do
|
|
|
|
"cap -h" to see all the available options and "cap -T" to see all the available
|
|
|
|
tasks.
|
2010-10-04 08:33:48 -04:00
|
|
|
|
|
|
|
## LICENSE:
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
|
|
a copy of this software and associated documentation files (the
|
|
|
|
'Software'), to deal in the Software without restriction, including
|
|
|
|
without limitation the rights to use, copy, modify, merge, publish,
|
|
|
|
distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
|
permit persons to whom the Software is furnished to do so, subject to
|
|
|
|
the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be
|
|
|
|
included in all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
|
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
|
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
|
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
|
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|