2011-12-18 16 views
3

私はheroku上で私のアプリケーション用の2つの環境を持っています:ステージングとプロダクション、そして私はRails 3.1アセットパイプラインを使用しています。私はhttp://assets.myapp-staging.comまたはhttp://assets.myapp.comherokuの資産パイプライン:2つの環境を管理する方法は?

問題にCloudFrontのからの私の資産をフェッチするためにカスタムconfig.action_controller.asset_hostプロパティを設定している

はHerokuの上で、資産は常に本番環境でプリコンパイルされていることです。つまり、私のCSSまたはjsファイルに存在するすべてのURLは、ステージング中でもhttp://assets.myapp.comをターゲットにしています。

答えて

6

あなたの最善の策は、2つのいずれかを行うことです。

1)を使用して、新しいユーザー-ENV-config設定ラボは、アドオンスラグのコンパイルフェーズ中に利用できる環境変数を作る。ここを参照してくださいこのについての詳細は

$ 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)は、それらの資産を使用しないでください。アセットシンクの宝石を使用すると、アプリケーションがその環境でスピンアップされたらアセットの編集を実行できます。これにより、資産がS3に同期されます。

これに関する詳細については、チェックアウト: http://devcenter.heroku.com/articles/cdn-asset-host-rails31

+0

おかげで、私はまた、asset_syncの宝石を発見し、この道を行くようになりました。しかし、私は本当にあなたの最初のソリューションを好む、私はそれが動作する場合は、今日知っているよ! – Chris

+0

それは魅力のように動作します。ちょうど私がこのプラグインが必要であることを理解しなければならなかった:https://github.com/heroku/heroku-labs – Chris

関連する問題