Heroku today introduced Heroku Fork, that let’s developers fork their own applications and the applications they’re collaborating on. The basic information about the new product is available in this write-up and a detailed version of the same is available in this article by the Heroku team.
The news comes a month after Heroku made Heroku Platform API available in Beta.
Heroku Fork lets developers create unique, running instances of existing applications from the command line. These instances are live and available on Heroku immediately so developers can change, scale and share them however they want.
Developers need to have the Heroku Toolbelt installed to use this feature. They can fork an existing application by running the following command:
$ heroku fork -a sourceapp targetapp
The said command copies the source app’s precompiled slug, copies the source app’s config vars (excluding add-on-specific environment variables), re-provisions the source app’s add-ons with the same plan, copies the source app’s Heroku Postgres data and scales the web process of the new app to one dyno, regardless of the number of web processes running on the source app.
heroku forkprovides the foundation for these things and more.
The developers using paid add-ons will be charged for their usage in the new app.
Some of the use cases of the Heroku Fork are:
Demonstrable Pull Requests: Using
heroku fork, pull requests can be accompanied by the URL of a live fork of the app that demonstrates a real, interactive version of the new feature.
Quick Setup of Multiple Environments:
heroku fork can be used to spin up new, homogeneous application environments for other stages of development.
heroku fork also provides a simple way to spin up more ephemeral environments to play with, modify or dispose of, if developers
want additional environments outside of the standard development/staging/production workflow.
Migration to EU region: Heroku recently launched Heroku Europe and
heroku fork can be used to migrate applications to the Europe region:
$ heroku fork -a sourceapp targetapp --region eu
After verifying add-on provisioning and config vars in the new application, developers can migrating any production data not stored in Heroku Postgres and adjust DNS settings.
“We want to empower teams to work faster and smarter: test new features, carry out experiments, and evolve rapidly. We think
heroku fork provides the foundation for these things and more,” said Heroku in an official blog post.
For more information, click here.