我最近将我的 capistrano gem 更新到版本 3.1.0,自那以后,cap production deploy
顺利通过,但目标 deploy:restart
没有被调用。
我的服务器部署在 Amazon EC2 上的 Ubuntu 12.10 上。
可能是什么原因呢?
我最近将我的 capistrano gem 更新到版本 3.1.0,自那以后,cap production deploy
顺利通过,但目标 deploy:restart
没有被调用。
我的服务器部署在 Amazon EC2 上的 Ubuntu 12.10 上。
可能是什么原因呢?
由于许多应用程序服务器不需要运行该任务,因此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)
namespace :deploy do
desc "My description"
task :my_task do
#do something
end
after :publishing, :my_task
end
roles: %w{web, app, db}
,它阻止了文件 "deploy.rb" 中的块 on roles(:app), in: :sequence, wait: 5 do
的正确执行。你看,它需要是 roles: %w{web app db}
。