Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
68 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# Heroku | ||
|
||
[Heroku](http://www.heroku.com/), if you're not already familiar with it, is a [Platform-as-a-Service](http://en.wikipedia.org/wiki/Platform_as_a_service) (PaaS) that makes it really easy to deploy your apps online. There are other similar solutions out there, but Heroku was among the first and is currently the most popular. Not only does it make a developer's life easier, but I find that having Heroku deployment in mind when building an app forces you to follow modern app development [best practices](http://www.12factor.net/). | ||
|
||
### Install | ||
|
||
Assuming that you have an account (sign up if you don't), let's install the [Heroku Client](https://devcenter.heroku.com/articles/using-the-cli) for the command-line. Heroku offers a Mac OS X installer, the [Heroku Toolbelt](https://toolbelt.heroku.com/), that includes the client. But for these kind of tools, I prefer using Homebrew. It allows us to keep better track of what we have installed. Luckily for us, Homebrew includes a `heroku-toolbelt` formula: | ||
|
||
$ brew install heroku-toolbelt | ||
|
||
The formula might not have the latest version of the Heroku Client, which is updated pretty often. Let's update it now: | ||
|
||
$ heroku update | ||
|
||
Don't be afraid to run `heroku update` every now and then to always have the most recent version. | ||
|
||
### Usage | ||
|
||
Login to your Heroku account using your email and password: | ||
|
||
$ heroku login | ||
|
||
If this is a new account, and since you don't already have a public **SSH key** in your `~/.ssh` directory, it will offer to create one for you. Say yes! It will also upload the key to your Heroku account, which will allow you to deploy apps from this computer. | ||
|
||
If it didn't offer create the SSH key for you (i.e. your Heroku account already has SSH keys associated with it), you can do so manually by running: | ||
|
||
$ mkdir ~/.ssh | ||
$ ssh-keygen -t rsa | ||
|
||
Keep the default file name and skip the passphrase by just hitting Enter both times. Then, add the key to your Heroku account: | ||
|
||
$ heroku keys:add | ||
|
||
Once the key business is done, you're ready to deploy apps! Heroku has a great [Getting Started](https://devcenter.heroku.com/articles/python) guide, so I'll let you refer to that (the one linked here is for Python, but there is one for every popular language). Heroku uses Git to push code for deployment, so make sure your app is under Git version control. A quick cheat sheet (if you've used Heroku before): | ||
|
||
$ cd myapp/ | ||
$ heroku create myapp | ||
$ git push heroku master | ||
$ heroku ps | ||
$ heroku logs -t | ||
|
||
The [Heroku Dev Center](https://devcenter.heroku.com/) is full of great resources, so be sure to check it out! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters