powiedzmy mam tego zadania Rake:Wykonaj polecenia systemowego z prowizji poza zakresem 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
zapasowa gem jest samodzielna aplikacja ruby gem, które Zależności musi być odizolowane od Bundler aplikacji. Innymi słowy, nie może być częścią Gemfile
. Ten Klejnot jest po prostu zainstalowany nad gem install backup
Kiedy biegnę backup
komendę nad konsoli bash, to z powodzeniem uruchomić:
$ backup perform -t validations_backup -c /home/equivalent/my_project/lib/backup/config.rb
Kiedy wykonać rake db:dump:backup
dostanę
backup is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
... co jest to samo, gdy uruchomię polecenie tworzenia kopii zapasowej z bundle exec
z bash
$ bundle exec backup perform -t validations_backup -c /home/equivalent/my_project/lib/backup/config.rb
... co oznacza, że polecenie backup
jest wykonywane nad pakerem, gdy jest uruchamiane jako część zadania rake.
moje pytanie: Jak mogę uruchomić rake db:dump:backup
outsite zakresu wiązki, co oznacza, że komenda backup
won `t być wykonywane przez Bundler?
Dziękuję
... z powodzeniem działa jako zdalne zadanie capistrano – equivalent8
Rozwiązałeś problem? Mam ten sam problem ... – Lichtamberg
nie, nie przez Rake. Wciąż używam Capistrano, żeby to zrobić. Zamieszczanie odpowiedzi za pomocą przykładu Capistrano: – equivalent8