Allows you to quickly create new heroku apps as clones of existing apps together with the list of collaborators and config variables.
Add the heroku gem plugin:
$ heroku plugins:install git://github.com/eckardt/heroku-clone.git
heroku-clone installed
You'll start with an existing app which has some custom config variables and collaborators set
$ heroku apps:create
Creating dry-oasis-7199... done, stack is cedar
http://dry-oasis-7199.herokuapp.com/ | [email protected]:dry-oasis-7199.git
Git remote heroku added
$ heroku sharing:add [email protected]
Adding [email protected] to dry-oasis-7199 collaborators... done
$ heroku config:set FOO=bar
Setting config vars and restarting dry-oasis-7199... done, v3
FOO: bar
Now, creating an exact copy of this app is easy
$ heroku clone:create
Creating dry-oasis-7199-clone-19b3... done, stack is cedar
http://dry-oasis-7199-clone-19b3.herokuapp.com/ | [email protected]:dry-oasis-7199-clone-19b3.git
Copying [email protected] to dry-oasis-7199-clone-19b3 collaborators... done
Copying config vars from dry-oasis-7199 and restarting dry-oasis-7199-clone-19b3... done, v3
You can use the new app as a staging server or for quickly trying out another branch
$ git push [email protected]:dry-oasis-7199-clone-19b3.git new-feature-which-needs-to-be-tested:master
[...]
-----> Launching... done, v6
http://dry-oasis-7199-clone-19b3.herokuapp.com deployed to Heroku
To [email protected]:dry-oasis-7199-clone-19b3.git
* [new branch] new-feature-which-needs-to-be-tested -> master
You can use this for quickly spinning up new staging servers without needing to set up everything from scratch every time you need a new server. In a continuous integration workflow you can easily deploy and test individual branches manually after the automatic tests have passed.
For easily removing apps when they are not needed anymore you can use the https://github.com/ddollar/heroku-cleanup plugin.
MIT License
Stephan Eckardt [email protected]