NOTE: Whilst this possibly still works, you should use app.json from Heroku - it's the offically supported, extended version of this
Heroku.json
heroku.json is configuration management for Heroku, making it super simple to setup (heroku bootstrap
) and copy (heroku describe
) Heroku apps.
For app creators: Include a heroku.json file in your project root to make running your app on Heroku as simple as heroku bootstrap
.
For hackers: Configure and run any app with a heroku.json file on Heroku using a single command.
Installation
- Get a Heroku account. If you don't have one already, create an account with Heroku. Your account needs to be verified in order to use any apps, which means adding a credit card.
- Install Heroku Toolbelt.
- Install heroku.json, by running
heroku plugins:install [email protected]:rainforestapp/heroku.json.git
from the command line.
Basic Usage
Heroku bootstrap
heroku bootstrap
creates an app on Heroku which is ready to run, based on a heroku.json file. After cloning a project with a heroku.json file, you can run heroku bootstrap
from the project root to install it onto Heroku. heroku bootstrap
creates a new app on Heroku, installs the necessary addons, and configures the environment variables. Tada! One app, ready to go.
Note: Some addons are charged, please refer to the addons website for pricing information.
Heroku describe
heroku describe
generates a heroku.json file for your project. This will create a new file called heroku.json in your project folder which describes all of the addons and environment variables that your app depends on, and which looks something like this:
{
"addons": [
"redistogo:nano"
],
"env": {
"TEST": "testing"
}
}
Note: Although we blacklist some environment variables for you already, please check that nothing private/sensitive is exported before publishing.
Contributors
heroku.json is a Rainforest interview hack day project, created by smathieu, fredsterss and ukd1. [We're hiring](mailto:[email protected]?subject=I want ur jobz)!
TODO
- Push code to heroku automatically
- Allow users to run arbitrary commands to allow users to bootstrap the db, generate static files, etc
- Display pricing information about the addons installed
- Setup collaborators automatically
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request