Heroku is a platform that enables developers to build, run, and operate applications entirely on the cloud with multi-language support for Ruby, Go, Scala, PHP, etc.

Ruby on Rails is a popular web framework written in Ruby. This guide covers how to deploy Rails 6 apps to Heroku.

Prerequisites for Deployment of Rails API To Heroku

  • Basic familiarity with Ruby/Rails and Git.
  • A locally installed version of Ruby 2.2.0+, Rubygems, Bundler, and Rails 5+.
  • Signup on Heroku.

Local Setup:

  • Install the Heroku CLI on your development machine.

sudo snap install --classic heroku

Note: Your application should be uploaded to GitHub.

Steps to deploy the application to Heroku:

  1. Create an application on Heroku

heroku create "app-name"

This will create an Rails application on Heroku like app-name.herokuapp.com

If you don’t provide an app-name then Heroku will automatically generate a subdomain.

  1. Verify remote origins were added to your projects.

git config --list --local | grep heroku

  1. Deploy your code.

git push heroku branch_name

Note: If you want to deploy a specific branch then you need to specify the branch name:parent_branch.

For Eg: 

If you created a branch ‘feature/bulk_upload’ from a master then you need to specify the branch_name as below for deployment:

git push heroku feature/bulk_upload:master

Logs Check 

Sometimes there arises a need to view the logs of the application then we can view the logs on Heroku using the below command:

heroku logs --tail

Run Rails commands

If we want to migrate our database on Heroku, then use the below command:

heroku run rails db:migrate

Let’s ensure that your one dyno is up by the following command:

heroku ps:scale web=1

If we want use Heroku run rails console in our local machine, use the following:

heroku run rails c

Visit the Rails application

This will open the application on the domain created in the browser.

heroku open

Congratulations! You have deployed your first Ruby on Rails application on Heroku.