我使用 capistrano 部属 production environment。我的 deploy:setup 功能会自动更新 capistrano 还有抓新版的 ruby。
set :rvm_type, :user
set :rvm_ruby_string, '1.9.3@prod'
set :rvm_autolibs_flag, "read-only"
before 'deploy:setup', 'rvm:install_rvm' # install RVM
before 'deploy:setup', 'rvm:install_ruby' # install Ruby and create gemset, OR:
before 'deploy:setup', 'rvm:create_gemset' # only create gemset
require 'rvm/capistrano'
require 'bundler/capistrano'
不过我还是搞不大清楚,是否要手动制作个 .rvmrc / .ruby-version 档案放在 production 上?(就算有设,这应该只影响我 ssh 进去的 ruby 版本吧?)
我虽然有设 rvm_ruby_string
可是 rvm 好像还是抓 rvm default ruby version。
还有我的 gem 最后好像是跟 bundler,那我设 rvm gemset 好像就没有用了。是吗?