Quickly set up and tear down Heroku apps!
Add an app.json manifest that looks kinda like this:
{
"name": "My App Thing",
"repository": "https://github.com/helloitsme/thingy",
"env": {
"FROBULATION_LIMIT": {
"description": "Maximum frobulations per lunar cycle.",
"value": "7"
}
},
"addons": [
"pusher"
]
}
Push that to your thing's master
branch on GitHub so Heroku can find it.
Log in with the Heroku toolbelt , then do this:
$ pip install happy
$ happy up butt-man-123
Creating app... butt-man-123
Building... done
It's up! :) https://butt-man-123.herokuapp.com
That's it! You made a temporary app with all the fixins, which you can use to continuously integrate or whatever you want to do.
Then, you can get rid of it like:
$ happy down butt-man-123
Are you sure you want to delete butt-man-123? [y/N]: y
Destroying app butt-man-123... done
It's down. :(
Usage: happy up [OPTIONS] [APP_NAME]
Brings up a Heroku app.
The app name is stored in a file called .happy
in the working directory so
happy can find it later.
APP_NAME
(optional) Name of the Heroku app to create. If this is not given, one is chosen for you by the Heroku API.
--auth-token
(optional) Heroku API auth token. If this is not given, happy assumes you're logged in through Heroku CLI, i.e. your token is stored in your
netrc
file.--env
(optional) Environment variable overrides, e.g.
--env KEY=value
. For multiple variables, this option can be passed more than once. Variable names MUST match one of the names in theenv
section of yourapp.json
, or the build will fail with aninvalid app.json
message.--tarball-url
(optional) URL of the tarball containing app.json. If this is not given, happy tries to infer it from an
app.json
file in the current directory.
Usage: happy down [OPTIONS] [APP_NAME]
Brings down a Heroku app.
APP_NAME
(optional) Name of the Heroku app to delete. If this is not given, the app name is read from a file called
.happy
in the working directory.--auth-token
(optional) Heroku API auth token. If this is not given, happy assumes you're logged in through Heroku CLI, i.e. your token is stored in your
netrc
file.--force
(optional) Suppress the delete confirmation prompt. Useful for automation!
- Install tox with
pip install tox
. - Run the tests with
tox
.