Question

je les moteurs sur mesure Refinery CMS suivants dans mon Gemfile:

gem 'refinerycms-venues', '1.0', :path => 'vendor/engines', :require => 'venues'
gem 'refinerycms-events', '1.0', :path => 'vendor/engines', :require => 'events'
gem 'refinerycms-available_spaces', '1.0', :path => 'vendor/engines', :require => 'available_spaces'

Si je prends ces derniers dehors, Capistrano se déploie bien. Cependant, si je les laisse à Capistrano pukes comme un chien malade:

 * executing "bundle install --gemfile /home/some_user/our-website.com/releases/20101109020214/Gemfile --path /home/some_user/our-website.com/shared/bundle --deployment --quiet --without development test engines"
    servers: ["our-website.com"]
    [our-website.com] executing command
 ** [out :: our-website.com] The path `/home/some_user/vendor/engines` does not exist.
    command finished
*** [deploy:update_code] rolling back
  * executing "rm -rf /home/some_user/our-website.com/releases/20101109020214; true"
    servers: ["our-website.com"]
    [our-website.com] executing command
    command finished
failed: "sh -c 'bundle install --gemfile /home/some_user/our-website.com/releases/20101109020214/Gemfile --path /home/some_user/our-website.com/shared/bundle --deployment --quiet --without development test engines'" on our-website.com

est comme il voit les fournisseurs / moteurs et pense qu'il a besoin de les installer pour une raison quelconque. Je ne l'ai pas compris comment les exclure. J'ai essayé de les mettre dans des groupes mais l'application ne courir.

Est-ce que quelqu'un a des idées?

Merci, Craig

Était-ce utile?

La solution

Cela semble être un problème avec fardeleuse. Les docs disent que Bundler est censé fonctionner à partir du répertoire où le Gemfile se trouve, mais cela ne semble pas être le cas. Je suis arrivé dans ce soit créer ma propre tâche de paquet et changer explicitement le répertoire avant paquet en cours d'exécution.

Changer votre #require 'bundler/capistrano' à cela dans votre fichier deploy.rb

after 'deploy:update_code' do
  bundle_cmd     = fetch(:bundle_cmd, "bundle")
  bundle_flags   = fetch(:bundle_flags, "--deployment --quiet")
  bundle_dir     = fetch(:bundle_dir, File.join(fetch(:shared_path), 'bundle'))
  bundle_gemfile = fetch(:bundle_gemfile, "Gemfile")
  bundle_without = [*fetch(:bundle_without, [:development, :test])].compact

  args = ["--gemfile #{File.join(fetch(:current_release), bundle_gemfile)}"]
  args << "--path #{bundle_dir}" unless bundle_dir.to_s.empty?
  args << bundle_flags.to_s
  args << "--without #{bundle_without.join(" ")}" unless bundle_without.empty?


  run_cmd = "cd \"#{fetch(:current_release)}\"; "
  run_cmd << "#{bundle_cmd} install #{args.join(' ')}"

  run run_cmd, :shell => '/bin/bash'
end
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top