【问题标题】:Capistrano 3 does not restart after deployCapistrano 3 部署后不重启
【发布时间】:2014-02-25 16:57:52
【问题描述】:

我最近将我的 gem 更新到 3.1.0 版,从那时起 cap production deploy 可以正常通过,但目标 deploy:restart 没有被调用。

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

为什么会这样?

【问题讨论】:

    标签: capistrano ruby capistrano3


    【解决方案1】:

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

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

    来自release notes

    重大变化:

    • deploy:restart 任务默认不再运行。 从这个版本开始,在每次部署时重新启动应用程序的开发人员需要在他们的部署流程中声明它(例如after 'deploy:publishing', 'deploy:restart')。

      请查看4e6523e 了解更多信息。 (@kirs)

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        在我的情况下,在文件“production.rb”中我有这个roles: %w{web, app, db},它阻止文件“deploy.rb”中的块on roles(:app), in: :sequence, wait: 5 do正确执行。你看,它必须是roles: %w{web app db}

        【讨论】:

          猜你喜欢
          • 2021-12-18
          • 2020-08-11
          • 2021-07-20
          • 2013-06-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-03-16
          • 2015-07-22
          相关资源
          最近更新 更多