2012-06-14 1 views
0

Использование EngineYard для размещения моего приложения Rails 3.2. Это приложение позволяет пользователям размещать изображения/активы. Я сохраняю их в общедоступном каталоге (используя «Скрепка скрепки»). Теперь моя проблема в том, что при новом развертывании мне приходится вручную копировать активы в версию CURRENT.EngineYard: разделение кода и активов

Хотя, я мог бы использовать AmazonS3, я все еще хочу выяснить, есть ли способ в EngineYard, который позволяет мне сохранять/обслуживать активы из другого каталога, кроме кода, say/data/assets.

Пожалуйста, дайте мне знать, если вы видите другие альтернативные реализации.

ответ

1

Обычно ваша структура будет выглядеть

/data 
    myapp/ 
    shared/ 
     images 
    releases/ 
     20120613000000 
     20120601000000 
     ... 
    current (symlink to one of the releases) 

При развертывании, вы симлинки общественные/изображения разделяемых/изображений и поэтому ваши изображения всегда откладываются в не зависимого высвобождения места.

Я бы посоветовал вам использовать что-то вроде s3: вам будет намного легче, если вы захотите разместить приложение на нескольких экземплярах.

+0

Должен ли я вручную SSH на сервере и создавать символическую ссылку после каждого развертывания? Или, есть ли сценарий, который мне нужно изменить? –

+0

Нет, сделайте это в своем deploy.rb (я предполагаю, что вы используете capistrano) –