Развернуть из Git с помощью Capistrano без аппаратного сброса?

StackOverflow https://stackoverflow.com/questions/852118

  •  21-08-2019
  •  | 
  •  

Вопрос

У меня проблема, когда мы запускаем CMS на сайте (BrowCercms), которая позволяет пользователю загружать файлы.Тем не менее, каждый раз, когда я делаю развертывание Capistrano, запускает жесткий сброс, тем самым поднимая любые загруженные файлы.

У кого -нибудь есть какие -либо предложения относительно того, как предотвратить жесткий сброс, и просто сделать тягу, или способ перемещения загруженных файлов в другом месте, без необходимости изменить код приложения?

Это было полезно?

Решение

Возможно, это неправильный подход.

Вам следует включить папку «images» в свой .gitignore и создать символическую ссылку на папку $current_release/images на $shared/images.

Это можно сделать автоматически при каждом развертывании, если вы добавите в файл Deploy.rb:

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

after "deploy:update_code", :link_imgs

Я сделал то же самое со своей CMS, и она работает просто великолепно.

Другие советы

Это не совсем соответствует вашим критериям «без изменения кода приложения».

Однако, столкнувшись с аналогичной проблемой, я переместил загруженное изображение из /public/images к /public/system/images тот /public/system Каталог не «версируется» при каждом развертывании capistrano, поэтому образы сохраняются.

Может ли проблема быть связана с «версией» capistrano? (вместо сброса git)?

развертывание крышки звонки развернуть: обновить и развернуть: перезапустить

развернуть: обновить делает версии, копирует материал

развернуть: перезапустить делает настоящий перезапуск, перегружайте его, когда вам удобно, обычно в вашем config/deploy.rb файл

namespace :deploy do
    desc "Softly restart the server"
    task :restart, :roles => :app, :except => { :no_release => true } do
      my_own.restart_recipe
    end  
end
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top