Capistranoを使用して、シェルコマンドが失敗した場合など、デプロイが失敗したときにクリーンアップ/ティアダウンタスクを実行したいと思います。
かなり広範囲に検索しても何も見つかりませんでした。
誰か助けてもらえますか?ありがとう
Capistranoを使用して、シェルコマンドが失敗した場合など、デプロイが失敗したときにクリーンアップ/ティアダウンタスクを実行したいと思います。
かなり広範囲に検索しても何も見つかりませんでした。
誰か助けてもらえますか?ありがとう
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