Como usar o rbenv e o rvm com capistrano3

Existem alguns casos em que os ambientes do sistema em servidores de teste e de produção são diferentes.
Vamos supor que você tenha seu servidor de produção executando o rvm e deseja tentar configurar o rbenv em seu teste.

Capistrano 3 oferece grande funcionalidade para configurar e implantar seu aplicativo para vários ambientes. Mas se você precisar de extensões rbenv e rvm, isso não funcionará.

Mas a solução é muito fácil. Graças à extensibilidade das tarefas de rake, o Capfile é um Rakefile regular.
Basta adicionar ao seu Capfile:

# ....
# some requires above

task
:use_rvm do
require
'capistrano/rvm'
end

task
:use_rbenv do
require
'capistrano/rbenv'
end

task production
: :use_rvm
task staging
: :use_rbenv

Isso é tudo! Agora você pode começar a implantar o processo cap production deployusando o rvm e o cap staging deployrbenv.