Heroku Pipelines, Review Apps, and GitHub Integration features now work together with CI in an intuitive, fully visual interface. And tests run fast, in automatically created, disposable environments that match your staging and production apps.

Heroku CI is easy to setup and use, detecting and running your tests with a minimum of configuration, while providing enough flexibility and power for the most demanding uses. Seamlessly integrated with Heroku Pipelines, it completes Heroku Flow to provide a unified solution for continuous integration/continuous delivery.

Fast, zero-queue time CI

On every push to GitHub, Heroku CI immediately runs your tests on Performance Dynos in a disposable Heroku app, so there’s never a wait time for a free CI worker. You can run tests in parallel on up to 32 test nodes.

Production parity

Your tests run in automatically created, disposable Heroku apps that have strong parity with the Heroku staging and production apps you’re already using.

Low setup, convention over configuration

Heroku CI detects, sets up, and runs your tests without configuration. You have the freedom to customize your test environment and override tests that would have been autodetected.

Fully visual

See the results of every test run for every push to GitHub in a fully visual interface, with full GitHub metadata for each change. Fix tests, and run again directly from Heroku CI. Navigate to Heroku CI directly from within GitHub.

Add-on compatibility

Add-ons provide default plans for temporary deployments, making the CI process easier and faster. These defaults are functionally similar to production plans, with enhanced provisioning and de-provisioning efficiency for CI.

Stay in context

Achieve higher productivity and better developer experience with less content and tool switching. There is no need to leave Heroku to look at logs or test results. Everything you need is in one place.

Shareable results

Sharing test run results is as easy as passing a URL with Heroku CI. All build and test results appear in a permanent URL that can be easily shared with and within your team.

One manifest for all

Heroku CI stores all CI parameters and set up in the same app.json file that is used to run your apps on Heroku. Having the details saved in one file makes accessing, finding, and modifying information much easier.

Fully integrated with Heroku Flow

With our focus on workflow rather than standalone features, we made Heroku CI fully integrated with the rest of Heroku Flow: Heroku Pipelines, Review Apps, and GitHub Deploys. Just turn it on from the Pipelines interface, add your GitHub repo name, and go.

Integrates easily with your CD

Trigger CI tests from your CD system (Jenkins, etc) via the Heroku Platform API, giving you further control over how your software is tested and delivered.

Automate browser UAT

Drive automated UAT (User Acceptance Testing) across browsers and devices with popular testing tools like Selenium and our best-of-breed infrastructure partners: Functionize, BrowserStack, and SauceLabs.

Unlimited with Heroku Enterprise

All Heroku Enterprise customers get an unlimited number of CI-enabled Heroku Pipelines and test runs. Existing Heroku Enterprise dyno credits are automatically used for test runs (Performance M is the default).

See it in action

“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.”

Founder and CEO, SuperHi

“After migrating to Heroku, we were up and running with our custom spec setup in a few hours, running both linters and tests. With Heroku CI Parallel Test Runs, our pipeline time dropped from 40 to 50 minutes to 8 to 10 minutes.”

Software Engineer, Qulture.Rocks