2009-05-15 6 views
1

私はawkマシンインスタンスでcrakenプロセスを実行するためにcrakenを使用しています。私はカピストラーノに、次のカスタムタスクを定義している:デプロイ時のみデプロイするようにCapistranoタスクを設定する:cold

問題がある
namespace :craken do 
    desc "Install raketab" 
    task :install, :roles => :cron do 
    set :rails_env, "production" unless exists?(:rails_env) 
    set :env_args, (exists?(:env_args) ? env_args : "app_name=#{application} deploy_path=#{current_path}") 
    run "cd #{current_path} && rake #{env_args} RAILS_ENV=#{rails_env} craken:install" 
    end 
    task :uninstall, :roles => :cron do 
    set :rails_env, "production" unless exists?(:rails_env) 
    set :env_args, (exists?(:env_args) ? env_args : "app_name=#{application} deploy_path=#{current_path}") 
    run "cd #{current_path} && rake #{env_args} RAILS_ENV=#{rails_env} craken:uninstall" 
    end 
end 

before "deploy:symlink", "craken:uninstall" 
after "deploy:symlink", "craken:install" 

その前に「展開:シンボリックリンク」、「crakenを:アンインストール」:最初の実行に失敗する寒さ、craken raketabはしていないので、原因が展開まだインストールされています。デプロイされていて、デプロイされていない場合にのみ実行するように設定するにはどうすればいいですか?確認できる環境変数はありますか?

ありがとうございます!

答えて

0

クイックハック、変更cracken:

ラン "のCD#{CURRENT_PATH} & &すくい#{env_args} RAILS_ENV =#{RAILS_ENV} craken:アンインストール;真" にアンインストール

またはcrackenタスクをフックon deploy:update

関連する問題