With Rails 5, the deployment process to Heroku has gotten even easier. Here are the steps to publishing a new Heroku app without using a one-click install.

STEP 1 - Create Rails App

Make sure you have a Rails 5 app that uses a postgresql database.

rails _5.0.0_ new my_api_app --api -d postgresql

Change directory into your app.

cd my_api_app

STEP 2 - Heroku Login

Make sure you've downloaded the Heroku Client (Toolbelt)

Login into Heroku.

heroku login

STEP 3 - Create App

Create a Heroku app from the existing rails app.

heroku create

STEP 4 - Double Check Your Work

Double check if everything is OK. If nothing fails, you're good.

 git config --list | grep heroku

STEP 5 - Publish to Heroku

Add all the files and create a message.

git add -A && git commit -m 'initial import'

Publish to Heroku

git push heroku master

STEP 6 - Update Heroku DB

Update the database schema. Notice that we use rake because we're using Rails 4.2.6.

heroku run rake db:migrate

STEP 7 - Populate Heroku DB

Populate the Heroku Database with seed data.

heroku run rake db:seed

STEP 8 - Double Check Your Server

Review your web app and determine if it's running.

heroku ps:scale web=1

STEP 9 - Double Check Your Heroku Process

Check the state of your Heroku process.

heroku ps

STEP 10 - Review your Heroku Configuration

Heroku config will show you a list of environmental variables and configurations for your specific app.

heroku config

STEP 11 - View Your Web App

View your web app live.

heroku open

STEP 12 - Review Logs

It's helpful to review your logs and see how things are looking. This command will collect the last 10,000 logs and save it to a .log file.

heroku logs -n 10000 > ~/Desktop/heroku-logs.log

Get the real-time logs and use grep to only showme

heroku logs -t | grep keyword_string_etc

Rename Heroku App

By default, Heroku will randomly assign you an app name. Here's how to give it a name you prefer.

heroku apps:rename new_app_name

Managing Environmental Variables

You can create, edit and delete Environmental Variables using Heroku Command Line.

heroku config:set VAR_IN_UPPERCASE=value

Managing Multiple Accounts

If you part of an web studio or agency where you manage multiple Heroku accounts, I highly suggest you read more about Heroku Accounts Plugin.