Capistrano 3在部署后无法重启

16

我最近将我的 gem 更新到版本 3.1.0,自那以后,cap production deploy 顺利通过,但目标 deploy:restart 没有被调用。

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

可能是什么原因呢?

3个回答

43

由于许多应用程序服务器不需要运行该任务,因此Capistrano 3默认不再运行该任务。请将以下内容添加到您的config/deploy.rb文件中:

```ruby set :normalize_asset_timestamps, %w{public/images public/javascripts public/stylesheets} ```
after 'deploy:publishing', 'deploy:restart'

根据发布说明

重大变更:

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

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


1
如果您正在使用命名空间,您也可以执行以下操作:
namespace :deploy do
  desc "My description"
  task :my_task do
    #do something
  end
  after :publishing, :my_task
end

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接