Heroku Flow brings together Heroku Pipelines, Review Apps, Heroku CI, and GitHub Integration into an easy-to-use structured workflow for continuous delivery, so you can test early and deploy often, with better results for your users.
App-centric continuous delivery, optimized for developers
With Heroku CI, we can use the same service to test, deploy, and deliver code. When combined with Heroku Pipelines, Heroku CI lets us easily manage all of our CI/CD automation across multiple apps and environments.
With inclusion of Heroku’s Pipelines feature, our team has a very robust and efficient method of development, testing, and deployment. We like it!
Heroku’s Review Apps feature is an integral part of our deployment process. Both our engineering and product teams use it to test code and the overall user experience.Read the dev interview >>
We ship to production multiple times a day, and Heroku’s Review Apps has become central to our process. It’s so easy for us to spin up a Review App for the team to validate and approve a new feature before it ships.
We started using Heroku Pipelines as soon as it was released and now we use it for continuous delivery of all our microservices.Read customer story >>
Heroku Release Phase has replaced the need to manually run database migrations, as well as update our Elasticsearch schema during deployment. It helps to automate our deploys and makes it easier to get code out the door.Read customer story >>
We use Heroku Release Phase to automatically run database schema updates. It has significantly increased our deploy-time availability by guaranteeing that new requests don’t hit our updated app code until database changes have been completed. It’s fantastic.Read customer story >>
New to continuous delivery, or have unanswered questions?
Heroku Flow brings together five key capabilities for continuous delivery
Heroku Pipelines Read docs
Pipelines is a way to organize a group of Heroku apps sharing the same codebase into review, development, staging, and production environments to support, manage and visualize continuous delivery. Promoting tested code from one stage to the next can be done manually or automatically and is nearly instantaneous, since the compiled artifact is promoted to the next stage. The Pipelines overview page in the Heroku Dashboard tracks the real-time progress of code and features from development to production.
Heroku CI Read docs
Heroku CI is a low-configuration test runner that integrates with Heroku Pipelines. Heroku CI runs your test scripts with zero queue time for faster results, using disposable apps that have strong parity with your staging and production environments. Access test results from Heroku or GitHub, automate deployments conditionally on CI results, and take advantage of a fully visual interface built to support CI’s role in team-based continuous delivery.
Review Apps Read docs
Review apps are a new way to propose, discuss and decide whether to merge changes to your code base. For Heroku apps connected to GitHub, Heroku can manually or automatically spin up a temporary test app on a unique URL for every opened pull request (PR). The temporary app is auto-updated on every commit, so instead of guessing about what the code might do, reviewers can actually try the changes in a browser. Merging the PR destroys the review app and, when used with pipelines, automatically promotes the code to staging.
GitHub Integration Read docs
Connect your GitHub repo to a Heroku app to either manually or automatically deploy a particular branch on every GitHub push. For every deploy you can see the diff between the current release and the previous commit in the app’s Activity tab in the Heroku Dashboard, so you’re never guessing what code is on the app. If you’ve configured your GitHub repo to use an external continuous integration (CI) server, you can configure Heroku to only auto-deploy a branch after CI passes for a particular commit.
Release Phase Read docs
Release Phase lets you run tasks before a release is deployed to production, eliminating maintenance windows, and reducing deployment risk. Migrate a database, upload assets to a CDN, invalidate a cache or run any other task your app needs to be ready for production. If a Release Phase task fails, the new release is not deployed, leaving the current production release unaffected.