Skip to content

Instantly share code, notes, and snippets.

@eubanksanator
Forked from raghubetina/heroku.md
Last active August 29, 2015 14:16
Show Gist options
  • Select an option

  • Save eubanksanator/0ed604eba384bf4566db to your computer and use it in GitHub Desktop.

Select an option

Save eubanksanator/0ed604eba384bf4566db to your computer and use it in GitHub Desktop.

Heroku Cheatsheet

Get the Heroku toolbelt

Sign up for a Heroku account and install the toolbelt if you haven't already.

Prepare your application

In your Gemfile, add

group :production do
  gem 'pg'
  gem 'rails_12factor'
end

and replace

gem 'sqlite3'

with

group :development do
  gem 'sqlite3'
end

At the very top of the file, include your Ruby version number:

ruby '2.2.0'

Next, from the command line,

bundle install --without production

Finally, commit these changes using the Desktop App or from the command line:

git add .
git commit -m "Heroku changes"

Add Heroku as a git destination

From the command line,

heroku create your-app-name-here

If the name is available, you will get a URL of http://your-app-name-here.herokuapp.com. If not, try again.

Send your code to Heroku

From the command line,

git push heroku master

It may take a while for Heroku to receive your code, detect that it is a Rails application, bundle install, and deploy. Once finished you should be able to visit your site with the shorcut

heroku open

Migrate your database

You still need to migrate your database and other setup tasks. Prefix any commands that you want to run on your Heroku machine with heroku run. For example,

heroku run rake db:migrate
heroku run rake db:seed
heroku run rails c

Note: if you used a column type of belongs_to when generating scaffolds with foreign key columns, AND you used a non-conventional name for them, you will need to modify your migration files. TODO complete this.

Keep an eye on your production server log

To see what's happening on your production server log,

heroku logs --tail
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment