![在 Capistrano 中,如何在 /current 文件夹中创建 .rvmrc 文件?](https://linux22.com/image/533496/%E5%9C%A8%20Capistrano%20%E4%B8%AD%EF%BC%8C%E5%A6%82%E4%BD%95%E5%9C%A8%20%2Fcurrent%20%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E5%88%9B%E5%BB%BA%20.rvmrc%20%E6%96%87%E4%BB%B6%EF%BC%9F.png)
在部署期间,我想在 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'