Let dire che ho questo compito Rake:comando di sistema Eseguire con il rastrello fuori portata Bundle
namespace :db do
namespace :dump do.
desc 'Backup database dump to s3'
task :backup => :environment do
cmd = ['backup', 'perform', '-t project_backup', "-C#{Rails.root.join 'lib', 'backup', 'config.rb'}"]
system(*cmd) # ...I've tried `` & exec() sa well, same thing
end
end
end
gemma Backup è applicazione stand alone rubino gemma che dipendenze deve essere isolato dal bundler applicazione. In altre parole, non può far parte di Gemfile
. Questo gioiello è installato semplicemente sopra gem install backup
Quando eseguo backup
comando sulla console bash, è eseguito correttamente:
$ backup perform -t validations_backup -c /home/equivalent/my_project/lib/backup/config.rb
Quando eseguo rake db:dump:backup
mi metterò
backup is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
... che è la stessa cosa quando eseguo il comando di backup con bundle exec
da bash
$ bundle exec backup perform -t validations_backup -c /home/equivalent/my_project/lib/backup/config.rb
... significa che il comando backup
viene eseguito su bundler quando viene eseguito come parte di rake task.
la mia domanda: Come posso eseguire rake db:dump:backup
outsite la portata fascio, il che significa che backup
comando non potrà essere sostituita eseguito su bundler?
Grazie
... btw funziona correttamente anche come attività remote capistrano – equivalent8
L'hai risolto? Ho lo stesso problema ... – Lichtamberg
no, non di Rake. Sto ancora usando Capistrano per farlo. Pubblicare la risposta con l'esempio di Capistrano – equivalent8