Marcio Trindade

Limpando o cache com Capistrano

Depois que publiquei o artigo Diminua o tempo de deploy do capistrano encontrando um problema que como não era criado um novo diretório (release) para o deploy ás páginas de cache não eram apagadas. Foi então que o Shadow11 adicionou uma linha nesta receita que poderia resolver nosso problema. Se trata de um shell script que vasculha todos os diretórios dentro do public e apaga os arquivos .html lógico que este tipo de funcionalidade você deve tomar cuidado ao usar em seu projeto e adapta-lo da melhor maneira possível. Abaixo o código que substituímos em relação ao artigo citado.

config/deploy.rb
desc "check if the configurations files are present"
task :symlink do
  on_rollback {}
  run <<-CMD
    rm -rf #{current_path}/log #{current_path}/public/system #{current_path}/tmp/pids #{current_path}/config/database.yml &&
    ln -s #{shared_path}/log #{current_path}/log &&
    ln -s #{shared_path}/system #{current_path}/public/system &&
    ln -s #{shared_path}/pids #{current_path}/tmp/pids &&
    ln -s #{deploy_to}/etc/database.yml #{current_path}/config/database.yml &&
    cd #{current_path} && rake db:migrate RAILS_ENV=production &&
    rm -f $(find public -name *.html | grep -v public/javascripts)
  CMD
end

A diferença está na última linha que foi adicionado o rm -f exceto no diretório "public/javascripts" pois como utilizamos o fckEditor e este por sua vez utiliza alguns arquivos .html que se localizam dentro deste diretório.

Se houver dúvidas envie no formulário de contato.