Актив конвейера на героку: как управлять 2 средами? - PullRequest
3 голосов
/ 18 декабря 2011

У меня есть 2 среды для моего приложения на heroku: подготовка и производство, и я использую конвейер ресурсов Rails 3.1.

Я установил пользовательское свойство config.action_controller.asset_host, чтобы мои активы выбирались из облачного фронта на http://assets.myapp -staging.com или http://assets.myapp.com

Проблема в том, что в Heroku активы всегда предварительно компилируются с производственной средой. Это означает, что все URL, присутствующие в моих файлах css или js, нацелены на http://assets.myapp.com даже в стадии подготовки.

Есть идеи?

1 Ответ

6 голосов
/ 18 декабря 2011

Лучше всего сделать одно из двух:

1) Использовать новое дополнение user-env-config labs , которое делает переменные среды доступными во время компиляции слаговphase.

Чтобы использовать это просто:

$ heroku labs:enable user-env-compile -a myapp
-----> Enabling user-env-compile for myapp... done
WARNING: This feature is experimental and may change or be removed without notice.

Для получения дополнительной информации об этом см. здесь: http://devcenter.heroku.com/articles/labs-user-env-compile

или

2) Не используйте эти активы. С гемом Asset Sync вы можете запустить компиляцию активов, как только приложение будет запущено в его среде.Это затем синхронизирует ваши активы с S3.

Для получения дополнительной информации об этом: http://devcenter.heroku.com/articles/cdn-asset-host-rails31

...