在 Capistrano 中,如何在 /current 文件夹中创建 .rvmrc 文件?

在 Capistrano 中,如何在 /current 文件夹中创建 .rvmrc 文件?

在部署期间,我想在 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'

相关内容