2013-03-13 41 views
0

我是新來webistrano所以道歉,如果這是一件微不足道的小事......Webistrano - 如何在部署後清除全局HTML緩存

我使用webistrano部署PHP代碼的幾個生產服務器,這是所有工作大。我的問題是,我需要在代碼更新後清除緩存服務器(varnish緩存)上的HTML緩存。我無法弄清楚如何構建將在webistrano機器上執行的配方(並且將運行相關的shell腳本來清​​除緩存),而不是在每個部署目標機器上執行。

感謝您的幫助,

Yariv

回答

0

Simpliest方法是用內部部署合適的參數來執行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 
0

感謝您的回答。我實際上需要做更多的stuf而不是隻清除緩存,所以我將在本地執行bash腳本,如下所述: How do I execute a Capistrano task locally?

+0

您可以將任意數量的「run」或「run_locally」添加到任務中 – ghloogh 2013-03-16 06:58:35