【发布时间】:2018-09-27 23:57:10
【问题描述】:
我想执行相当于
的上限Rails.cache.clear
部署后,但无法使其工作。这是我在 deploy.rb 文件中的尝试
namespace :deploy do
after :restart, :clear_cache do
on release_roles(fetch(:assets_roles)) do
within release_path do
with rails_env: fetch(:rails_env) do
Rails.cache.clear
end
end
end
end
end
但这不起作用:
SSHKit::Runner::ExecuteError: Exception while executing as deploy@hostname.com uninitialized constant Rails
如果不是这个,那是什么?
感谢您的帮助, 凯文
更新:
这是正确的语法:
namespace :deploy do
task :clear_cache do
on roles(:app) do |host|
with rails_env: fetch(:rails_env) do
within current_path do
execute :rake, "cache:clear"
end
end
end
end
end
【问题讨论】:
-
你可以使用this gem。并在deploy.rb中添加
set :clear_cache_after_deploy, true这一行,每次部署后缓存都会被清空。