Pergunta

Eu tenho um problema no momento em que estiver executando um CMS dentro de um site (Browsercms) que permite que os arquivos de usuário de upload. No entanto, cada vez que eu fazer um deploy Capistrano executa um hard reset nuking assim qualquer uploaded arquivos.

Alguém tem alguma sugestão sobre a forma de evitar que o hard reset, e apenas fazer um puxão, ou uma maneira de mover os arquivos enviados em outro lugar, sem ter que mudar o código do aplicativo?

Foi útil?

Solução

Isto pode não ser a abordagem correta.

Você deve incluir sua pasta 'imagens' na sua .gitignore e ligar simbolicamente o $ current_release / images pasta para US $ shared / imagens.

Isto pode ser feito automaticamente em cada implantação se você colocar na sua deploy.rb:

task :link_imgs do     
  run "ln -s #{shared_path}/photos #{release_path}/photos" 
end    

after "deploy:update_code", :link_imgs

Eu fiz o mesmo com o meu CMS e funciona como um encanto

Outras dicas

Isto não cumprirem completamente os critérios de "sem ter que mudar o código do aplicativo".

No entanto, após correr em um problema semelhante Mudei minha imagem carregados de /public/images para /public/system/images o diretório /public/system não é 'versionado' por cada implantação Capistrano por isso as imagens sobreviver.

Poderia ser o Capistrano 'versões' causando o problema (em vez de uma redefinição git) ?

cap deploy chamadas deploy: update e deploy: restart

deploy: update faz com que o controle de versão, coisas copiar

deploy: restart faz o verdadeiro reinício, sobrecarregá-lo em seu convenince, geralmente em sua config / deploy.rb arquivo

namespace :deploy do
    desc "Softly restart the server"
    task :restart, :roles => :app, :except => { :no_release => true } do
      my_own.restart_recipe
    end  
end
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top