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