Capistrano развернуть не используя Gemset
Предупреждение: я немного новичок с капистрано и рвм. Не с рельсами. Я использую rvm-capistrano в своем скрипте развертывания для создания гемсета на ruby 1.9.3. Похоже, это работает нормально. Проблема в том, что когда он пытается прекомпилировать ресурсы, он использует gems из моего общего каталога /bundle/ruby /1.9.1/gems. Это проблема, но я не знаю, как с этим справиться... Проблема в том, куда упаковщик помещает драгоценные камни, куда указывает местоположение набора драгоценных камней, или он просто не пытается использовать этот набор. Есть идеи? Вот мой сценарий развертывания:
require 'mana/server_ec2'
# setup rvm
require 'rvm/capistrano'
set :rvm_ruby_string, :local # use the same ruby as used locally for deployment
#set :rvm_autolibs_flag, "read-only" # more info: rvm help autolibs
#before 'deploy', 'rvm:install_rvm' # install/update RVM
#before 'deploy', 'rvm:install_ruby' # install Ruby and create gemset, OR:
# before 'deploy:setup', 'rvm:create_gemset' # only create gemset
before :deploy, 'rvm:create_gemset'
set :default_stage, :vagrant
set :ruby_version, :brightbox
set :care_about_ruby_version, false
set :chef_version, '~> 11.4.0'
set :railsapp,
server_names: '_'
set :run_list, %w(
recipe[monit]
recipe[resque]
)
set :runner, 'nobody'
set :keep_releases, 10
task :set_permissions, :roles => :web do
run "sudo chmod 777 #{current_release}/tmp #{current_release}/tmp/pids -R"
end
after 'deploy:restart', 'deploy:restart_unicorn'
after 'deploy:finalize_update', :set_permissions
before 'deploy:assets:precompile' do
#upload 'vendor/assets/components.zip', "#{latest_release}/vendor/assets", via: :scp
#run "cd #{latest_release}/vendor/assets && unzip -o #{latest_release}/vendor/assets/components.zip"
run "cd #{latest_release} && bower install"
end
set :resque, queues: { "*" => 2 }
after 'deploy:update', 'deploy:cleanup'
after 'deploy:restart' do
sudo "monit -g #{application}-resque restart"
end
Дайте мне знать, будет ли полезна любая другая информация. Спасибо!
1 ответ
Я на 90% уверен, что вам нужно использовать этот https://github.com/wayneeseguin/rvm-capistrano:
set :bundle_dir, ''
set :bundle_flags, '--system --quiet'