1

vlad the deployer を使用して Rails アプリをデプロイしようとしています。

私はnginxとパッセンジャーを使用しています。

vlad:start_app タスクに問題があります。

デプロイすると、次の問題が発生します

touch: cannot touch `/var/www/mysite.com/releases/20100623130302/tmp/restart.txt': No such file or directory
rake aborted!
execution failed with status 1: ssh mysite.com touch /var/www/mysite.com/releases/20100623130302/tmp/restart.txt

この問題は、リリースの 20100623130302 が存在しないという点で明らかです。

次のタスクを使用したいのですが、デフォルトの vlad:start_app タスクを config/deploy.rb ファイルに配置して上書きすることはできません。

namespace :vlad do

  desc 'Restart Passenger'
    remote_task :start_app do
    run "touch #{current_path}/tmp/restart.txt"
  end

end

どんな助けでも感謝します。私が考えるオプションは、デフォルトの vlad タスクを機能させるか、何らかの方法でデフォルトの vlad タスクをオーバーライドすることです。

4

2 に答える 2

0

タスクをオーバーライドするには、同じタスクを再度定義すると、最初のタスクの後に実行される 2 番目のタスクが作成されるため、最初に前のタスクを削除する必要があります。

タスクを置き換える方法のvlad Web サイトの例を次に示します。

namespace :vlad do
  # Clear existing update task so that we can redefine instead of adding to it.
  Rake.clear_tasks('vlad:update')

  remote_task :update, :roles => :app do
    #custom update stuff
  end
end
于 2010-06-23T21:44:07.910 に答える
0

RAILS_ROOT/Rakefileファイルです。

于 2010-06-23T13:54:15.867 に答える