Put Your App Online With Heroku
Created by Terence Lee, @hone02
Get Heroku
Follow steps 1 through 3 of the quickstart guide to sign up, install the toolbelt, and login.
COACH: Talk about the benefits of deploying to Heroku vs traditional servers.
Preparing your app
Updating our database
First, we need to get our database to work on Heroku, which uses a different database. Please change the following in the Gemfile:
gem 'sqlite3'
to
group :development do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
Run bundle install --without production
to setup your dependencies.
COACH: You can talk about RDBMS and the different ones out there.
Version Control Systems
We need to add our code to version control. You can do this by running the following in the terminal:
git init
git add .
git commit -m "initial commit"
COACH: This would be a good time to talk about version control systems and git.
Deploying your app
App creation
We need to create our heroku app by typing heroku create --stack cedar
in the terminal and see something like this:
Creating evening-sky-7498... done, stack is cedar
http://evening-sky-7498.herokuapp.com/ | git@heroku.com:evening-sky-7498.git
Git remote heroku added
In this case “evening-sky-7498” is your app name.
Pushing the code
Next we need to push our code to heroku by typing git push heroku master
. You’ll see push output like the following:
Counting objects: 134, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (115/115), done.
Writing objects: 100% (134/134), 35.29 KiB, done.
Total 134 (delta 26), reused 0 (delta 0)
-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.1.2
Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
Fetching gem metadata from https://rubygems.org/.......
...
-----> Launching... done, v4
http://evening-sky-7498.herokuapp.com deployed to Heroku
You’ll know the app is done being pushed, when you see the “Launching…” text like above.
Migrate database
Next we need to migrate our database like we did locally during the workshop: heroku run rake db:migrate
When that command is finished being run, you can hit the app based on the url. For this example app, you can go to http://evening-sky-7498.herokuapp.com/. You can also type heroku open
in the terminal to visit the page.