Deploy your first rails app with Heroku

Published September 10, 2010 by Toran Billups

When I first started playing with rails back in 2006, deployment was a scary complex world that I avoided for some reason. And because I never deployed any production code I didn't learn anything about how difficult it was back then. But a lot has changed since 2006 and a few weeks ago I stumbled upon this rails hosting service called Heroku.

Heroku is labeled as a cloud based hosting service for rails based web applications. But that isn't saying much so I decided to deploy something myself and see just how easy or hard this would be. I soon found that deployment would never be this easy again. The steps below are exactly what I followed the first time I deployed a simple application to Heroku.

Commit your code locally with git

Init your git repository for the first time.

git init

add every file in your project so we can commit.

git add .

commit your code to the local repository.

git commit -m 'first commit'

Install the heroku gem

Simply install the gem to get started with heroku.

gem install heroku

Setup your SSH keys

First verify that you don't already have a key generated.

cd ~/.ssh

If the above returns 'no such file or directory' you can simply generate your key

ssh-keygen -t rsa -C '[email protected]'

At the first prompt you can just hit enter to generate the key with the default name. At the next prompt you need to enter a good passphrase and confirm it.

Deploy your rails application to heroku

Type the command below and when prompted for credentials simply enter your username (usually your email) and password.

heroku create

Next push your code up to heroku via git

git push heroku master

And finally run the rake command to get your database setup for the first time

heroku rake db:migrate

You should have a working application now! Just browse to your heroku url and check it out!

Now you can make changes to your app locally and push them up with a simple 'git push heroku' from the command line.

Buy Me a Coffee

Twitter / Github / Email