Вопрос Нуб Капистрано о сохранении загрузочных каталогов - PullRequest
2 голосов
/ 13 мая 2010

В ответ на это сообщение в блоге: http://www.simonecarletti.com/blog/2009/02/capistrano-uploads-folder/

У меня три вопроса:

  1. Кто-нибудь может подтвердить, работает ли там рецепт?
  2. Где и как мне положить этот рецепт?
  3. У меня есть две папки для каждой ревизии: / products и / public / images / site_images, какой рецепт мне следует использовать, чтобы этого добиться?

У меня почти нулевой опыт работы с Capistrano, и все, что я смог сделать на данный момент, это просто развертывание cap и развертывание cap: cold, так что скрипт, который я мог бы просто скопировать и вставить, был бы очень признателен.

Спасибо

Ответы [ 2 ]

3 голосов
/ 13 мая 2010
  1. Да, я сейчас использую его в своих проектах.

  2. Вы можете просто добавить код в конец вашего файла deploy.rb

  3. Если продукты находятся за пределами общей папки, вы не можете связать их с общедоступной стороны. Также ожидается, что public / images будут проверены в вашем хранилище SCM

Рецепт предполагает, что вы хотите иметь полностью новую папку, доступную для публичного доступа, для размещения загруженных пользователем документов. Папка должна быть исключена из конфигурации SCM, чтобы предотвратить случайные фиксации. Вам следует избегать использования папки public / images для внешних выгруженных файлов, иначе у вас будет много головной боли при попытке синхронизировать конфигурацию разработки, управляемую SCM, с общедоступным состоянием.

0 голосов
/ 15 мая 2010

Вот как я это сделал в конце, с помощью ручного подхода

Я надеюсь, что это поможет всем ранним программистам:

1. cd to releases to find out folder to synchronize
cd /home/yourapp/rails_apps/main/releases/

2. find the folder to sync, one level above last folder shown with ls
REMEMBER!
With ls, the folder list goes as follows:
folder1    folder5
folder2    folder6
folder3    folder7
folder4    folder8

So in this case, copy from folder7

3. copy the folders
To copy images
rsync -av --stats --progress /home/yourapp/rails_apps/main/releases/20100517183232/public/images/ /home/yourapp/rails_apps/main/current/public/images/

To copy products
rsync -av --stats --progress /home/yourapp/rails_apps/main/releases/20100517183232/products/ /home/yourapp/rails_apps/main/current/products/

Интересно, можно ли их каким-либо образом автоматизировать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...