A strategy for deploying monorepo one-app-per-audience Rails applications on Heroku.
Sample Application: https://github.com/nonrational/unibus
- Create some spoke rails applications and at least one hub engine for them all
- See https://github.com/nonrational/unibus for an example layout
- 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. 😢
-
For each app, set:
APP_BASE=<spoke-app-name> APP_DEPS=<engine-one> <engine-two> ENGINE_PATH=./.engines
-
Add this buildpack before the Ruby buildpack.
heroku buildpacks:add -r <heroku-remote> --index 1 https://github.com/nonrational/heroku-buildpack-hub-spoke
-
. And often.
- Alan Norton @nonrational
... upon whose shoulders the author(s) stood.
- Andrew Gwozdziewycz [email protected]
- Cyril David [email protected]
- Lincoln Stoll [email protected]