Webistrano - 如何在部署后清除全局HTML缓存

时间:2013-03-13 16:13:12

标签: capistrano varnish webistrano

我是webistrano的新手,如果这是一件小事,请道歉......

我正在使用webistrano将php代码部署到多个生产服务器,这一切都很有效。我的问题是我需要在代码更新后清除缓存服务器(清漆缓存)上的HTML缓存。我无法弄清楚如何构建将在webistrano机器上执行的配方(并将运行将清除缓存的相关shell脚本),而不是在每个部署目标机器上。

感谢您的帮助,

Yariv

2 个答案:

答案 0 :(得分:0)

最简单的方法是在deploy:restart

中使用适当的参数执行varnishadm工具
  set :varnish_ban_pattern, "req.url ~ ^/"
  set :varnish_terminal_address_port, "127.0.0.1:6082"
  set :varnish_varnishadm, "/usr/bin/varnishadm"

  task :restart, :roles => :web do
    run "#{varnish_varnishadm} -T #{varnish_terminal_address_port} ban \"#{varnish_ban_pattern}\"" 
  end

答案 1 :(得分:0)

感谢您的回答。我实际上需要做更多的stuf,而不是只清除缓存,所以我将在本地执行bash脚本,如下所述: How do I execute a Capistrano task locally?

相关问题