0

私はwebistranoを初めて使用するので、これが些細なことである場合はお詫びします...

私はwebistranoを使用してphpコードをいくつかの本番サーバーにデプロイしていますが、これはすべてうまく機能しています。私の問題は、コードの更新後にキャッシュサーバー(varnishキャッシュ)のHTMLキャッシュをクリアする必要があることです。各デプロイメントターゲットマシンではなく、webistranoマシンで実行される(そしてキャッシュをクリアする関連するシェルスクリプトを実行する)レシピを構築する方法がわかりません。

助けてくれてありがとう、

Yariv

4

2 に答える 2

0

答えてくれてありがとう。実際には、キャッシュをクリアするだけでなく、いくつかのstufを実行する必要があるため、以下で説明するように、ローカルでbashスクリプトを実行します。Capistrano タスクをローカルで実行するにはどうすればよいですか?

于 2013-03-15T19:50:59.800 に答える
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
于 2013-03-13T20:17:19.513 に答える