2011-11-25 23 views
9

¿Es posible precompilar automáticamente mis activos en una aplicación de Rails antes de enviarlos a Heroku? Siempre me olvido de hacerlo, por lo que sería bueno si cuando escribí git push heroku master, primero ejecutara rake assets:precompile ; git commit add . ; git commit -a -m "Precompile.", o algo por el estilo.Precompilar activos automáticamente antes de presionar a Heroku

¿Alguien ha logrado tal solución? Posiblemente sin ganchos? Aunque sospecho que esa es la única forma.

Respuesta

14

Finalmente me di cuenta de esto. De hecho, estaba en la pila de cedro. El problema era que había revisado mi directorio public en Git, y cuando presioné a Heroku, se dio cuenta de que public existía, y por lo tanto asumí que precompilaba. Ejecutando git rm -r public y agregando public/** a mi .gitignore, luego presionando, soluciona el problema.

3

Siempre se puede alias heroku o algo similar a rake assets:precompile ; git commit add . ; git commit -a -m "Precompile." ; git push heroku master en su perfil fiesta es decir

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

Si se trata de una parte de su proceso de despliegue, lo recomendaría hacer que un script en su código base. –

8

Suena como que podría no estar en Heroku's Cedar Stack? Si está utilizando la canalización de activos (Rails -v> = 3.1), cedro proporciona three options para compilar activos.

Desde el docs:

Si no ha compilado activos a nivel local, vamos a tratar de ejecutar la tarea assets:precompile durante la compilación babosa.

1

En la pila de cedro, lo hará durante la compilación de slug. Yo recommiendo eso.

Cuestiones relacionadas