Domanda

Ho un problema nel momento in cui stiamo correndo un CMS all'interno di un sito (browsercms) che consente caricare i file dell'utente. Tuttavia, ogni volta che fare un deploy Capistrano gestisce un reset hardware così bombardare qualsiasi caricato file.

Qualcuno ha qualche suggerimento su come evitare che l'hard reset, e basta fare un tiro, o un modo di spostare i file caricati altrove, senza dover modificare il codice dell'applicazione?

È stato utile?

Soluzione

Questo potrebbe non essere l'approccio giusto.

È necessario includere cartella 'immagini' nel vostro .gitignore e link simbolico alla cartella $ current_release / immagini per $ condiviso / immagini.

Questo può essere fatto automaticamente su ogni schieramento, se si mette in deploy.rb:

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

after "deploy:update_code", :link_imgs

Ho fatto la stessa cosa con il mio CMS e funziona come un fascino

Altri suggerimenti

Questo non soddisfa i tuoi criteri di "senza dover modificare il codice dell'applicazione".

Tuttavia dopo l'esecuzione in un problema simile ho spostato la mia immagine caricata da /public/images al /public/system/images il /public/system directory non è 'di versione' da ogni schieramento Capistrano in modo che le immagini sopravvivere.

Potrebbe essere il Capistrano 'versioni' la causa del problema (invece di un reset git)

cap deploy chiamate distribuire: update e distribuire: restart

distribuire: update rende il controllo delle versioni, la copia di roba

distribuire: restart fa il vero riavvio, sovraccaricarlo al vostro convenince, di solito in config / deploy.rb file

namespace :deploy do
    desc "Softly restart the server"
    task :restart, :roles => :app, :except => { :no_release => true } do
      my_own.restart_recipe
    end  
end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top