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 HerokuBasic 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: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.Verify remote origins were added to your projects.
git config --list --local | grep herokuDeploy 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.
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
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.
Congratulations! You have deployed your first Ruby on Rails application on Heroku.