VOOZH about

URL: https://capistranorb.com/documentation/getting-started/before-after/

⇱ Before / After Hooks


👁 capistrano logo

Before / After Hooks

Where calling on the same task name, executed in order of inclusion

# call an existing task
before :starting, :ensure_user

after :finishing, :notify


# or define in block
namespace :deploy do
 before :starting, :ensure_user do
 #
 end

 after :finishing, :notify do
 #
 end
end

If it makes sense for your use case (often, that means generating a file) the Rake prerequisite mechanism can be used:

desc "Create Important File"
file 'important.txt' do |t|
 sh "touch #{t.name}"
end
desc "Upload Important File"
task :upload => 'important.txt' do |t|
 on roles(:all) do
 upload!(t.prerequisites.first, '/tmp')
 end
end

The final way to call out to other tasks is to simply invoke() them:

namespace :example do
 task :one do
 on roles(:all) { info "One" }
 end
 task :two do
 invoke "example:one"
 on roles(:all) { info "Two" }
 end
end

This method is widely used.

👁 Fork me on GitHub