Codecademy will be down from 00:00 to 02:00 ET on November 15, 2019 for scheduled database maintenance. This will affect the website, learning environment, forums, and mobile app. We will provide updates as necessary.

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

  1. Create a new Heroku account.
  2. Install the Heroku Toolbelt on your computer.
  3. In the terminal, log in using the email address and password you used when creating your Heroku account:

    $ heroku login
  4. In Gemfile, add the pg gem to your Rails project. Change:

    gem sqlite

    to

    gem 'sqlite3', group: :development gem 'pg', '0.18.1', group: :production
  5. In Gemfile, add the rails_12factor gem::
    gem 'rails_12factor', group: :production
  6. In the terminal, install the gems specified in the Gemfile:
    $ bundle install
  7. Ensure config/database.yml is using the postgresql adapter. Change:

    production: <<: *default database: db/production.sqlite3

    to

    production: <<: *default adapter: postgresql database: db/production.sqlite3
  8. Commit your changes to git:
    $ git add . $ git commit -m "Heroku config"
  9. In the terminal, create an app on Heroku:
    $ heroku create
  10. Push your code to Heroku:
    $ git push heroku master
  11. If you are using the database in your application, migrate the database by running:
    $ heroku run rake db:migrate
  12. If you need to seed your database with data, run:
    $ heroku run rake db:seed
  13. Get the URL of your app and visit it in the browser:
    $ heroku apps:info
    In 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.