heroku / heroku-buildpack-ember-cli

A Heroku buildpack for ember-cli apps; powers dashboard.heroku.com
58 stars 15 forks source link

Consider merging or taking inspiration from the tonycoco ember-cli buildpack #5

Closed wcurtis closed 8 years ago

wcurtis commented 8 years ago

Just wanted to put another popular ember-cli buildpack on the radar. It's widely used, and the config options are real solid: https://github.com/tonycoco/heroku-buildpack-ember-cli

Super stoked about the potential here with a native Heroku buildpack - perhaps there's room for collaboration between projects.

jmonster commented 8 years ago

Hey @wcurtis, thanks for sharing!

We actually attempted to use that buildpack ourselves; there's no sense putting effort into this if we didn't have to. Unfortunately it didn't play well with the rest of the Heroku ecosystem, such as Pipelines. I think we ran into some other issues getting our app deployed too but I can't recall the specifics at this moment. For what it's worth, I have successfully used that buildpack on personal projects in the past, so please don't take this as an insult to the tonycoco project :)

As for configuration, we have more to offer here than you may realize. This buildpack is more than just, well, this buildpack. Heroku supports the composition of many buildpacks! If you want to dig into that specifically, there's a lot of information on the using multiple buildpacks page -- but our README has the gist of what you need to know:

heroku buildpacks:clear
heroku buildpacks:add https://github.com/heroku/heroku-buildpack-nodejs
heroku buildpacks:add https://github.com/heroku/heroku-buildpack-ember-cli
heroku buildpacks:add https://github.com/hone/heroku-buildpack-static

You could add additional buildpacks, such as the netrc buildpack to support private github repositories or the apt buildpack for arbitrary dependencies from an Aptfile.

As you can see, we're building on top of the node.js buildpack and static buildpack with our ember-cli solution. The static buildpack in particular offers a lot of configuration via a static.json file. If you include a custom static.json file in your ember-cli project, it'll be picked up by the static buildpack. If you don't provide one, we write out default file appropriate for most ember-cli applications. You could copy this file into your project and customize it as you see fit.

I posted a writeup about our experience leading to the creation of this buildpack at http://j.yayuhh.com/running-with-ember-on-heroku/ if you're curious to learn more ... but I've already summarized it here :palm_tree:

wcurtis commented 8 years ago

Hey thanks @jmonster! Happy to hear how much thought went into this buildpack already :ok_hand:

I'll close this issue out - looking forward to following along!