Capistrano 3在部署后不会重新启动

时间:2014-02-25 16:57:52

标签: ruby capistrano3

我最近将我的 gem更新为版本3.1.0,从那时起cap production deploy传递正常,但目标deploy:restart未被调用。

我的服务器部署在Amazon EC2上的Ubuntu 12.10上。

为什么会这样?

3 个答案:

答案 0 :(得分:42)

Capistrano 3默认不再运行该任务,因为许多应用服务器不需要它。将其添加到config / deploy.rb:

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

来自release notes

  

突破变化:

     
      
  • deploy:restart任务默认情况下不再运行。   在此版本中,在每个部署上重新启动应用程序的开发人员需要在其部署流程中声明它(例如after 'deploy:publishing', 'deploy:restart')。

         

    请查看4e6523e以获取更多信息。 (@kirs)

  •   

答案 1 :(得分:1)

如果您使用的是名称空间,您还可以执行以下操作:

namespace :deploy do
  desc "My description"
  task :my_task do
    #do something
  end
  after :publishing, :my_task
end

答案 2 :(得分:0)

就我而言,在'production.rb'文件中,我有了roles: %w{web, app, db},它可以防止文件“deploy.rb”中的块on roles(:app), in: :sequence, wait: 5 do正确执行。你看,它需要是{{} 1}}