Подтвердить что ты не робот

RVM Gemset - Bundler & Capistrano в производстве

Я развертываю приложение rails для VPS с capistrano, bundler и rvm. Вот часть моего deploy.rb

$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require "rvm/capistrano"     
require "bundler/capistrano"             # Load RVM capistrano plugin.

set :rvm_type, :system
set :rvm_ruby_string, '[email protected]_name'

my.rvmrc

rvm --create use [email protected]_name

Когда я вошел на сервер, я заметил, что был создан gemset rvm, однако все драгоценные камни были установлены в /shared/bundle/ruby/ 1.9.1/gems - не в gemset (/usr/local/rvm/gemset)

Я использую RVM в разработке, и я думаю, что это здорово, но когда пришло время для развертывания на производстве. Каковы наилучшие методы? Есть ли способ рассказать поставщику об установке драгоценных камней в gemset?

Мне вообще нужен гемсет? (похоже, что сборщик уже изолирует gemset), я что-то упустил?

Пожалуйста, помогите мне понять!

Большое спасибо

4b9b3361

Ответ 1

Я использую RVM также в разработке и производстве. Однако, хотя я использую наборы гемм в разработке для разделения гемов между моими проектами rails, я использую RVM только для установки рубинов на свой производственный VPS и позволяю Bundler обрабатывать версии моих гемов.

Использование интеграции с упаковщиком через require "bundler/capistrano" автоматически настраивает некоторые компоненты для упаковщика. Вы можете увидеть код за этим на странице Bundlers Github. Основные настройки таковы, что bundle выполняет эту команду:

bundle install --gemfile Gemfile --path shared/bundle --deployment --quiet --without development test

Как вы можете видеть, --path флаги --deployment и --path, которые говорят Bundler связывать ваши драгоценные камни с вашим приложением в каталоге shared/bundle и использовать только те версии, которые указаны в вашем Gemfile.lock (то есть версии, которые работаем в разработке). Поскольку каталог комплектов используется совместно для развертываний, я нахожу его более простым, чем использование наборов гемов RVM для каждого приложения.

Если вы все еще хотите поместить драгоценные камни в отдельные наборы, я бы порекомендовал этот учебник от Дарси Лэйкок для дальнейшего чтения.