Развернуть из Git с помощью Capistrano без аппаратного сброса?
-
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