我是 webistrano 的新手,如果这是一件小事,我深表歉意......
我正在使用 webistrano 将 php 代码部署到多个生产服务器,这一切都很好。我的问题是我需要在代码更新后清除缓存服务器(清漆缓存)上的 HTML 缓存。我不知道如何构建将在 webistrano 机器上执行的配方(并将运行将清除缓存的相关 shell 脚本)而不是在每个部署目标机器上执行。
谢谢您的帮助,
亚里夫
我是 webistrano 的新手,如果这是一件小事,我深表歉意......
我正在使用 webistrano 将 php 代码部署到多个生产服务器,这一切都很好。我的问题是我需要在代码更新后清除缓存服务器(清漆缓存)上的 HTML 缓存。我不知道如何构建将在 webistrano 机器上执行的配方(并将运行将清除缓存的相关 shell 脚本)而不是在每个部署目标机器上执行。
谢谢您的帮助,
亚里夫
感谢你的回答。实际上,除了清除缓存之外,我还需要做更多的事情,所以我将在本地执行一个 bash 脚本,如下所述: 如何在本地执行 Capistrano 任务?
最简单的方法是在 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