Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Capistrano 3 does not restart after deploy

I've recently updated my capistrano gem to version 3.1.0, and since then cap production deploy passes fine, but the target deploy:restart is not called.

My server is deployed on Ubuntu 12.10 on Amazon EC2.

Why could that be?

like image 626
Uri Agassi Avatar asked Feb 25 '14 16:02

Uri Agassi


2 Answers

Capistrano 3 no longer runs that task by default as many app servers don't require it. Add this to your config/deploy.rb:

after 'deploy:publishing', 'deploy:restart'

From the release notes:

Breaking changes:

  • deploy:restart task is no longer run by default. From this version, developers who restart the app on each deploy need to declare it in their deploy flow (eg after 'deploy:publishing', 'deploy:restart').

    Please, check 4e6523e for more information. (@kirs)

like image 166
Philip Hallstrom Avatar answered Sep 25 '22 22:09

Philip Hallstrom


If you are using namespaces, you can also do the following:

namespace :deploy do
  desc "My description"
  task :my_task do
    #do something
  end
  after :publishing, :my_task
end
like image 24
spyle Avatar answered Sep 24 '22 22:09

spyle