En Capistrano, ¿cómo crear un archivo .rvmrc en la carpeta/current?

En Capistrano, ¿cómo crear un archivo .rvmrc en la carpeta/current?

Durante mi implementación, quiero crear un archivo .rvmrc en la carpeta/actual durante una implementación de capistrano.

¿Cómo puedo hacer esto?

Respuesta1

Puede agregar tareas a una implementación de Capistrano usando la sintaxis que se muestra a continuación:

task :gitinstall do
   run "apt-get update"
   run "apt-get -y install git-core"
end
before "deploy:update", :gitinstall

En este ejemplo, cada máquina instala git antes de ejecutar la implementación. Todo lo que tienes que hacer es modificar esto para obtener el archivo en cuestión o hacer un eco de bash.

Respuesta2

Dejaré esto aquí como referencia. Debería funcionar con versiones más nuevas de rbenv o rvm.

namespace :deploy do
  desc 'Sets the ruby version'
  task :set_ruby_version do
    put "2.0.0-p0", "#{latest_release}/.ruby-version"
  end
end

after 'deploy:update_code', 'deploy:set_ruby_version'

o, si estás usando capistrano/bundler, necesitas este gancho en su lugar:

before 'bundle:install', 'deploy:set_ruby_version'

información relacionada