
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'