我是第一次接触webistrano,所以如果这是一件微不足道的事情,我深表歉意。
我正在使用webistrano将php代码部署到几个生产服务器上,这一切都运行得很好。我的问题是,在代码更新之后,我需要清除缓存服务器上的HTML缓存(varnish cache)。我不知道如何构建一个在webistrano机器上执行的方法(并将运行清除缓存的相关shell脚本),而不是在每个部署目标机器上执行。
谢谢你的帮助
Yariv
发布于 2013-03-14 04:17:20
最简单的方法是在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发布于 2013-03-16 03:51:00
谢谢你的回答。我实际上需要做更多的stuf,而不仅仅是清除缓存,所以我将在本地执行一个bash脚本,如下所述:How do I execute a Capistrano task locally?
https://stackoverflow.com/questions/15390633
复制相似问题