Getting Started with Heroku

Last Updated: 26 March 2014

clojure java node python ruby scala

Table of Contents

Heroku is a polyglot cloud application platform. With Heroku, you don’t need to think about servers at all. You can write apps using modern development practices in the programming language of your choice, back it with add-on resources such as SQL and NoSQL databases, Memcached, and many others. You manage your app using the Heroku command-line tool and you deploy code using the Git revision control system, all running on the Heroku infrastructure.

Let’s get started.

Step 1: Sign up

Sign up for a Heroku account, if you don’t already have one.

Step 2: Install the Heroku Toolbelt

Install the Heroku Toolbelt for your development operating system.

The toolbelt contains the Heroku client, a command-line tool for creating and managing Heroku apps; Foreman, an easy option for running your apps locally; and Git, the revision control system needed for deploying applications to Heroku.

Step 3: Login

After installing the Toolbelt, you’ll have access to the heroku command from your command shell. Authenticate using the email address and password you used when creating your Heroku account:

If you have previously uploaded a key to Heroku, we assume you will keep using it and do not prompt you about creating a new one during login. If you would prefer to create and upload a new key after login, simply run heroku keys:add.

$ heroku login
Enter your Heroku credentials.
Email: adam@example.com
Password:
Could not find an existing public key.
Would you like to generate one? [Yn]
Generating new SSH public key.
Uploading ssh public key /Users/adam/.ssh/id_rsa.pub

Press enter at the prompt to upload your existing ssh key or create a new one, used for pushing code later on.

Step 4: Deploy an application

Choose from the following getting started tutorials to learn how to deploy your first application using a supported language or framework:

Get started with…
Ruby or Rails Node.js
Java, Spring or Play Python or Django
Clojure Scala