I'd like to deploy an angular+rails app on Heroku. The app is built off Emmanual Oda's example code, and compiles its assets using Grunt.
Instead of compiling my assets locally and then committing them to git, I'd prefer to compile them on Heroku. That is, I'd like to run grunt build
on Heroku automatically whenever my app is deployed.
Does anyone know how I can configure Heroku to do this?
EDIT
I know server side asset compilation is possible with Node.js apps, for example using mbuchetics' fork of the heroku nodejs buildpack. When I follow the instructions at that site and push to Heroku, though, I get the following error
-----> Fetching custom git buildpack... done
! Push rejected, no Cedar-supported app detected
EDIT 2
For the time being I'm deploying using a Rake task that runs grunt build
locally.
task :deploy do
system("rm -rf ./public/*") # empty the public directory
system("cd ngapp; grunt build")
# make a bogus manifest file to turn off asset compilation on heroku
# see here: https://devcenter.heroku.com/articles/rails-asset-pipeline
system("mkdir public/assets; touch public/assets/manifest-098f6bcd4621d373cade4e832627b4f6.json")
system("git add public/")
system("git commit -m \"deploying...\"")
system("git push heroku master")
end
A server side solution would be preferable!