[Capistrano] rake task 実行用レシピ
- 2012 12/17
- カテゴリー : Capistrano
- コメントを書く
Capistrano で rake task を実行するためのレシピをメモ。
namespace :rake do desc "Run a task on a remote server." # run like: cap staging rake:invoke task=db:seed_fu task :invoke do run("cd #{deploy_to}/current; rake #{ENV['task']} RAILS_ENV=#{rails_env}") end end |
例えば、rake db:version を Capistrano 経由で実行したい場合は下記のような感じ。
% cap staging rake:invoke task=db:seed_fu |
namespace が衝突?してしまったため、rake から rake_task へ変更
namespace :rake_task do desc "Run a task on a remote server." # run like: cap staging rake:invoke task=db:seed_fu task :invoke do run("cd #{current_path} && RAILS_ENV=#{rails_env} bundle exec rake #{ENV['task']}") end end |
以上です。
【参考】ruby – How do I run a rake task from Capistrano? – Stack Overflow