Как я препятствую тому, чтобы capistrano перезаписал файлы, загруженные пользователями в их собственных папках?

Я использую Capistrano и мерзавца для развертывания приложения RoR. У меня есть папка, под которой у каждого пользователя есть их собственная папка. Когда пользователь загружает или сохранил файл, он сохраняется в их собственной папке.

Когда я развертываю новые версии кода к серверу, пользовательские файлы и папки перезаписываются с тем, что находится на моей dev машине.

Существует ли способ проигнорировать некоторые папки в capistrano, как мы делаем в мерзавце? Это сообщение - http://www.ruby-forum.com/topic/97539 - предлагает использовать символьные ссылки и хранить пользовательские файлы в совместно используемой папке. Но это - старое сообщение, таким образом, я задаюсь вопросом, существует ли лучший способ сделать это теперь.

Кроме того, кто-либо знает о каких-либо хороших скринкастах/учебных руководствах для рекомендации для использования RoR+git+capistrano?

Спасибо.

7
задан Hrishi Mittal 3 April 2010 в 10:23
поделиться

1 ответ

Вы должны переместить папки пользователя за пределы каталога Capistrano релизов . Обычный подход заключается в том, чтобы Capistrano создавал символические ссылки на каталоги, которые должны сохраняться при развертывании.

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

after :deploy, 'deploy:link_dependencies'

namespace :deploy do
  desc <<-DESC
    Creates symbolic links to configuration files and other dependencies
    after deployment.
  DESC
  task :link_dependencies, :roles => :app do
    run "ln -nfs #{shared_path}/public/files #{release_path}/public/files"
    run "ln -nfs #{shared_path}/public/images/posts #{release_path}/public/images/posts"
  end
end
  • Чтобы ответить на ваш второй вопрос, я рекомендую PeepCode и Railscasts
10
ответ дан 7 December 2019 в 01:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: