/heroku-buildpack-ember-cli-deploy

**Deprecated** Heroku Buildpack built around ember-cli-deploy and the static buildpack

Primary LanguageRuby

heroku-buildpack-ember-cli-deploy

This buildpack was an experimental OSS project for running Ember.js fastboot applications on Heroku Dynos. It has since been deprecated and is no longer supported.

For an alternative for hosting Ember.js applications on Heroku, consider using the heroku/nodejs buildpack with the heroku/nginx buildpack.

Intro

This is a Heroku Buildpack that handles the logic for building Ember.js and ember-cli-fastboot applications. It can leverage ember-cli-deploy to allow you to customize your build process on Heroku. If ember-cli-deploy is not detected, the buildpack will run a standard ember build --environment production.

Usage

This buildpack has a binary component, so it needs to be compiled beforehand. It's easiest just to use the buildpack with the prebuilt binary.

$ heroku buildpacks:set https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/ember-cli-deploy.tgz

You'll need both npm and node setup before using this buildpack. I recommend checking out heroku-buildpack-nodejs. In addition, if not using fastboot, you'll need a way to serve the assets. heroku-buildpack-static can help there. When not using fastboot, the buildpack will generate a default static.json for you.

An example of setting your app to advantage of all these pieces for a standard (non fastboot) Ember.js application, you can do something like this:

$ heroku buildpacks:clear
$ heroku buildpacks:add heroku/nodejs
$ heroku buildpacks:add https://codon-buildpacks.s3.amazonaws.com/buildpacks/heroku/ember-cli-deploy.tgz
$ heroku buildpacks:add https://github.com/heroku/heroku-buildpack-static

Again, you probably want to be using the emberjs buildpack.

Contributing

The buildpack builds a CLI tool generically named, buildpack built on top of mruby-cli. It resides in the buildpack/ directory. buildpack is a CLI binary that has 3 subcommands that correspond to the Buildpack API:

  • detect
  • compile
  • release

Running Tests

First, you'll need the mruby-cli prerequisites setup. Once inside the buildpack/ directory:

$ docker-compose run mtest && docker-compose run bintest