/heroku-buildpack-hub-spoke

Heroku support for Rails Engines & Applications that choose to cohabitate.

Primary LanguageShell

Heroku Hub-And-Spoke Buildpack

A strategy for deploying monorepo one-app-per-audience Rails applications on Heroku.

Sample Application: https://github.com/nonrational/unibus

Usage

  1. Create some spoke rails applications and at least one hub engine for them all
  1. Create one Heroku application for every spoke app.
  • You'll probabaly end up with a pair per rails app e.g. app-X-staging/app-X-production
  • You can even use pipelines. Go nuts.
  • You cannot use review apps. 😢
  1. For each app, set:

    APP_BASE=<spoke-app-name>
    APP_DEPS=<engine-one> <engine-two>
    ENGINE_PATH=./.engines
    
  2. Add this buildpack before the Ruby buildpack.

    heroku buildpacks:add -r <heroku-remote> --index 1 https://github.com/nonrational/heroku-buildpack-hub-spoke
    
  3. :shipit:. And often.

Author

Giants

... upon whose shoulders the author(s) stood.