Heroku Flow brings together Heroku Pipelines, Review Apps, Heroku CI and GitHub integrations into an easy-to-use structured workflow for continuous delivery.

App-centric continuous delivery, optimized for developers

Professional workflow in seconds

Organize your pipeline by connecting your GitHub repo, and then automatically or manually placing your Heroku apps in dev, staging or production environments. Simultaneously develop features on dev branches that are reflected by disposable review apps, run tests on every push to GitHub with Heroku CI, merge pull requests, auto deploy to staging, and control who promotes to production.

Complete visualization of code delivery

Always know where a particular feature is on the path to production with the real-time Pipelines overview in the Heroku Dashboard. The Pipelines overview provides a single page view of the current relationships between apps, giving your team the state of development across all your environments. With Heroku CI you can see every test run resulting from a push to GitHub.

Better quality, tighter iterations

For every open Pull Request, Heroku can spin up a complete disposable environment called a Review App on a unique URL. Every push to a branch in GitHub triggers Heroku CI to run tests. Now everyone can contribute to feature testing early in the product life cycle for speedier decisions and better quality. You can keep staging and production environments identical to catch flaws before your users do.

Faster releases, easy collaboration

When combined with Heroku Pipelines, Review Apps and GitHub Integration, Heroku Teams and ChatOps make it even easier to embrace continuous delivery. With Heroku Teams members with the right permissions can collaborate on changes within a Pipeline. Heroku ChatOps makes communication much easier by posting notifications of code changes and deployments associated with a Pipeline in Slack. Team members can see Heroku CI results, deploy to apps in a pipeline, and much more from Slack.

New to continuous delivery, or have unanswered questions?

Learn more about continuous delivery →

Heroku Flow brings together six key capabilities for continuous delivery

Heroku Pipelines

Heroku Pipelines

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 Pipelines docs →

Heroku CI

Heroku CI

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. Heroku CI docs →

Heroku Review Apps

Heroku Review Apps

Review Apps are used to propose, discuss, and decide whether or not to merge changes to your code base. For Heroku apps connected to GitHub, you can manually spin up a temporary test app or automate it based on a unique URL for every opened pull request (PR). Merging the PR destroys the review app, and when used with Heroku Pipelines, automatically promotes the code to staging. Users can also leverage the Review App API, an extension of the Heroku Platform API, to more easily automate workflows or use Review Apps with different CI tools. Heroku Review Apps docs →

Heroku GitHub Integration

GitHub Integration

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. GitHub Integration docs →

Heroku ChatOps

Heroku ChatOps

Heroku ChatOps uses the power of Heroku Pipelines to bring a collaborative deployment workflow to Slack. It enables developers to deploy to staging or promote to production from Slack. With Heroku ChatOps teams can keep track of all code changes within their Slack room. Pull request notifications, merges and CI build results all show up in Slack so no context switching is needed to see build results or check if promoting to production was successful. Heroku ChatOps docs →

Heroku Release Phase

Release Phase

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. Release Phase docs →

“Heroku’s CI/CD tools, like Review Apps, Pipelines, and CI, allow us to maintain quality standards internally, as well as enable regional physicians to test localized versions of the app right from their browser.”

Alex Broussard
THINKMD’s story →

“It was quick and easy to set up our CI/CD workflow on Heroku. The platform’s tools save us time, and as a startup, we need to optimize for time.”

Marc Vanderstigel
Co-Founder, RocketChart
RocketChart’s story →

“Heroku Review Apps are a fantastic way of collaborating with clients and managing acceptance testing. Regardless of where clients are located, we can easily share new features in development for quick feedback or approval.”

Joe Leo
Founder, Def Method
Def Method’s 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.”

Co-Founder and CTO, DocSend
DocSend’s story →