2011-11-25 6 views
9

Herokuにプッシュする前に、Railsアプリでアセットを自動的にプリコンパイルすることはできますか?私はいつもそれをすることを忘れてしまいます。git push heroku masterとタイプすると、最初にrake assets:precompile ; git commit add . ; git commit -a -m "Precompile."かその何かが実行されるといいでしょう。Herokuにプッシュする前にアセットを自動的にプリコンパイルする

誰もこのような解決策を達成しましたか?おそらくフックなし?私はそれが唯一の方法だと思うが。

答えて

14

私はこれを最終的に考え出しました。私は確かにシダーのスタックにあった。問題は私がpublicディレクトリをGitにチェックして、私がHerokuにプッシュしたときにpublicが存在していることに気づき、あらかじめコンパイルしたと仮定していました。 git rm -r publicを実行し、.gitignorepublic/**を追加してから、問題を修正します。

3

あなたは常にエイリアスherokuたり、bashのプロファイルでrake assets:precompile ; git commit add . ; git commit -a -m "Precompile." ; git push heroku masterに似た何かがそれはあなたのような音 すなわち

#in ~/.bash_profile 
alias precompile_push='rake assets:precompile ; git commit add . ; git commit -a -m "Precompile." ; git push heroku master' 
+1

これはあなたの展開プロセスの一部である場合、私はあなたのコードベースでそのスクリプトを作ることをお勧めします。 –

8

Heroku's Cedar Stack上ではないかもしれませんでしょうか?アセットパイプライン(Rails -v> = 3.1)を使用している場合、cedarはアセットをコンパイルするためにthree optionsを提供します。 docsから

ローカルで資産をコンパイルしていない場合、我々はスラグコンパイル時に assets:precompileタスクを実行しようとします。

1

杉のスタックでは、スラッグのコンパイル時にこれを行います。私はそれをお勧めします。

関連する問題