0

Capistranoを使用して、シェルコマンドが失敗した場合など、デプロイが失敗したときにクリーンアップ/ティアダウンタスクを実行したいと思います。

かなり広範囲に検索しても何も見つかりませんでした。

誰か助けてもらえますか?ありがとう

4

1 に答える 1

1

Capistrano のソース コードを見てみましょう。

それはあなたの仕事がどのように行われるかによって異なります。基本的に、ロールバックするためのスニペットがいくつかあります。

task :my_task do
  on_rollback { "rm -rf data_dir" }
  exec "mkdir data_dir"
  exec "some commands for preparaing data in data_dir" 
end
after "deploy:create_symlink", :my_task

上記の場合、my_taskトランザクションで実行する必要があります。はい、トランザクションを作成するdeploy:create_symlinkサブタスクであるため、すでにトランザクションになっています。deploy

スタンドアロンで実行したい場合my_task(プロセスのサブタスクではありませんcap deploy)。以下のような別のタスクを作成しcap my_task_standalone、コマンドラインから実行する必要があります。

task :my_task_standalone do
  transaction do
    my_task
  end
end
于 2012-11-07T10:09:24.750 に答える