在部署期间,我想在 capistrano 部署期间在 /current 文件夹中创建一个 .rvmrc 文件。
我怎样才能做到这一点?
答案1
您可以使用下面显示的语法将任务添加到 Capistrano 部署:
task :gitinstall do
run "apt-get update"
run "apt-get -y install git-core"
end
before "deploy:update", :gitinstall
此示例让每台机器在运行部署之前安装 git。您所要做的就是将其修改为 wget 所需文件或执行 bash echo。
答案2
我将把这个留在这里作为参考。应该适用于较新版本的 rbenv 或 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'
或者,如果你正在使用 capistrano/bundler,那么你需要这个钩子:
before 'bundle:install', 'deploy:set_ruby_version'