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