Deploy Rails to Heroku
Background
After developing a Rails app locally, the next step is to put it online. After developing a Rails app and previewing it locally on your computer, the next step is to put it online so others can see it. This is called deploying your app.
Heroku is a popular hosting service that is free to start using. Here’s how to deploy your Rails app to Heroku.
Instructions
Create a new Heroku account.
Install the Heroku Toolbelt on your computer.
In the terminal, log in using the email address and password you used when creating your Heroku account:
$ heroku loginIn Gemfile, add the
pg
gem to your Rails project. Change:gem sqliteto
gem 'sqlite3', group: :developmentgem 'pg', '0.18.1', group: :productionIn Gemfile, add the
rails_12factor
gem::gem 'rails_12factor', group: :productionIn the terminal, install the gems specified in the Gemfile:
$ bundle installEnsure config/database.yml is using the
postgresql
adapter. Change:production: <<: *default database: db/production.sqlite3
to
production: <<: *default adapter: postgresql database: db/production.sqlite3
Commit your changes to git:
$ git add .$ git commit -m "Heroku config"In the terminal, create an app on Heroku:
$ heroku createPush your code to Heroku on the
main
branch:$ git push heroku mainNote: If you’re unable to push your code, you may have skipped a step or have a differently named branch.
If you are using the database in your application, migrate the database by running:
$ heroku run rake db:migrateIf you need to seed your database with data, run:
$ heroku run rake db:seedGet the URL of your app and visit it in the browser:
$ heroku apps:infoIn the output, copy the address in the
Web URL
field. Open a new tab in your browser, and visit your app.
Check out Heroku’s Rails docs for more information.