capistrano/bundler — pull request #27 by mbrictson (2013-12-20 00:18:37+00:00)
Title: Honor the Capistrano 3.1 no_release flag

Capistrano 3.1 adds a `release_roles` method to the DSL that works just like `roles` method, but excludes servers that are marked with `:no_release => true`. The idea is that are some servers where the code does not need to be released, like a database server, for example.

If the Ruby code is not deployed to a `:no_release => true` server, then clearly `bundle install` will fail.

To fix this, we need to use `release_roles` for the `bundler:install` task. It's not that simple though, because the release_roles method doesn't exist in Capistrano 3.0. So we have to fall back to the original behavior in 3.0.