Frage

Ich habe ein Problem im Moment, wo wir ein CMS innerhalb einer Website ausgeführt werden (Browsercms), die die Benutzer Dateien hochladen kann. Allerdings habe ich jedes Mal, tun ein deploy Capistrano läuft ein Hard-Reset so jede uploaded nuking Dateien.

Hat jemand irgendwelche Vorschläge, wie das Hard-Reset zu verhindern, und tut nur einen Zug oder einen Weg, um die hochgeladenen Dateien an anderer Stelle zu bewegen, ohne den Anwendungscode zu ändern?

War es hilfreich?

Lösung

Dies ist vielleicht nicht der richtige Ansatz sein.

Sie sollten Ihre 'Bilder' Ordner in Ihrem .gitignore und Symlink die $ current_release / Bilder-Ordner $ shared / Bilder enthalten.

Dies kann automatisch bei jedem Einsatz erfolgen, wenn Sie in Ihrem deploy.rb setzen:

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

after "deploy:update_code", :link_imgs

Ich habe das gleiche mit meinem CMS gemacht und es funktioniert wie ein Charme

Andere Tipps

Dies ist nicht ganz Ihre Kriterien erfüllen „ohne den Anwendungscode ändern zu müssen“.

Jedoch, nachdem sie in ein ähnliches Problem lief ich mein hochgeladenes Bild von /public/images verschoben, um das /public/system/images Verzeichnis /public/system wird von jedem Capistrano Einsatz nicht ‚versioniert‘, so dass die Bilder überleben.

Könnte es die Capistrano sein 'Versionierung' das Problem verursacht (anstelle eines git reset)

cap deploy Anrufe bereitstellen: update und einsetzen: restart

bereitstellen: update macht die Versionierung, das Kopieren von Material

einsetzen: restart hat die wahre Neustart überlasten sie bei Ihrer convenince, in der Regel in der config / deploy.rb Datei

namespace :deploy do
    desc "Softly restart the server"
    task :restart, :roles => :app, :except => { :no_release => true } do
      my_own.restart_recipe
    end  
end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top