---
title: "Six Strategies for Deploying to Heroku"
description: "Heroku offers six deployment strategies: Git push, GitHub integration, Review Apps, Docker, Terraform, and the “Deploy to Heroku” button. Each has different requirements and trade-offs, and strategies can be combined in a workflow. Git push is simple but requires a developer with access to both repository and app, while GitHub integration can automate deployments and block them until CI tests pass. Review Apps provide disposable instances for pull requests; Docker supplies self-contained environments but requires maintaining a stack and does not support pipeline promotions. Terraform uses declarative HCL to manage Heroku and external infrastructure despite lacking official Heroku support, and buttons offer one-click deployments from GitHub repositories but do not auto-update or connect deployed apps back to their repositories."
---

# Six Strategies for Deploying to Heroku

[Heroku](https://yomu.fyi/company/heroku) · Jason Skowronski · Jun 19, 2019

**Type:** Explainer

## Summary

Heroku offers six deployment strategies: Git push, GitHub integration, Review Apps, Docker, Terraform, and the “Deploy to Heroku” button. Each has different requirements and trade-offs, and strategies can be combined in a workflow. Git push is simple but requires a developer with access to both repository and app, while GitHub integration can automate deployments and block them until CI tests pass. Review Apps provide disposable instances for pull requests; Docker supplies self-contained environments but requires maintaining a stack and does not support pipeline promotions. Terraform uses declarative HCL to manage Heroku and external infrastructure despite lacking official Heroku support, and buttons offer one-click deployments from GitHub repositories but do not auto-update or connect deployed apps back to their repositories.

## Context

Choosing a Heroku deployment method depends on the team’s deployment process, team size, application requirements, use of continuous integration, quality-control needs, and infrastructure complexity.

## Approach / What changed

The post compares six Heroku deployment methods—Git, GitHub integration, Review Apps, Docker, Terraform, and the “Deploy to Heroku” button—by describing their setup, benefits, limitations, and possible combinations.

## Takeaways

- Git deployment automatically builds the application and creates a release after code is pushed, but requires access to both the Git repository and Heroku app.
- Review Apps deploy GitHub pull requests as isolated, disposable instances and destroy them when the pull request closes; pipelines and GitHub integration are required.
- Terraform defines Heroku apps with declarative HCL and can coordinate Heroku resources with infrastructure from providers such as AWS, DNSimple, and Cloudflare.

**Tags:** [Docker](https://yomu.fyi/topic/docker), [Heroku](https://yomu.fyi/topic/heroku), [Terraform](https://yomu.fyi/topic/terraform)

- Source: [Heroku](https://www.heroku.com/blog/six-strategies-deploy-to-heroku)
- Source URL: https://www.heroku.com/blog/six-strategies-deploy-to-heroku
- Ingested by Yomu: 2026-09-09T14:27:33.824Z

[Read original post](https://www.heroku.com/blog/six-strategies-deploy-to-heroku)
