Есть ли в Rails 3.1 камень или метод, который может автоматически загружать активы в облако облаков амазонки и использовать их вместо того, чтобы обслуживать локально размещенные? Я думаю, что легко загрузить скомпилированные активы вручную, а затем измените конфигурацию приложения rails для использования этого ресурса, но когда объект будет изменен, загрузка в облачный фронт потребуется снова выполнить вручную. Какие-нибудь хорошие пути для этого?
Автоматическое развертывание актива Rails 3 на Amazon CloudFront?
Ответ 1
Определенно проверьте asset_sync на github. Или в нашей статье Heroku dev center на Использование ресурса CDN Host с Rails 3.1 на Heroku.
Существует довольно большое улучшение производительности при использовании asset_sync по сравнению с обычным происхождением CDN, позволяя вашему приложению лениво компилировать активы в производстве или обслуживать их, предварительно скомпилированные непосредственно с серверов приложений. Однако я бы так сказал. Я написал это.
- С активами_sync и S3 вы можете предварительно скомпилировать активы, означающие, что все активы готовы к немедленному обслуживанию на хосте /CDN актива.
- Вам может потребоваться только пакет : активы в приложении .rb для прекомпиляции, сохранение памяти в процессе производства
- Серверы приложений НИКОГДА не попадают на запросы актива. Знаете, вы можете потратить дорогое время на вычисление. Вычислительный.
- Наилучшая практика HTTP-заголовки кэша установлены по умолчанию.
- Вы можете включить автоматическое сжатие gzip с помощью одной дополнительной конфигурации
Ответ 2
Если вы используете опцию "Пользовательское происхождение" Cloudfronts, вам не нужно ничего загружать, Cloudfront будет извлекать активы с вашего сервера, когда это необходимо. Подробнее о настройке см. Ниже:
Ответ 3
Взгляните на https://github.com/rumblelabs/asset_sync - мы используем его только для S3, но я думаю, что часть CloudFront довольно проста, когда активы находятся на S3.
В конечном итоге это задача грабли, которую вы просто добавляете для выполнения в процессе развертывания.
Ответ 4
другой вариант будет https://github.com/moocode/asset_id, в файле readme есть пример использования его с облачным облаком. Он должен работать с рельсами 3.1, но я использовал его только на 3.0.x.
Ss John сказал, что все решения в конечном итоге будут задачей rake + немного логики для изменения пути активов в рельсах.