How to Deploy Rails App to Heroku in 5 Minutes

Posted on the 17 February 2021 by Botreetechnologeis @botreetech

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: 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.

    Verify remote origins were added to your projects.
git config --list --local | grep heroku 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.