Herokuを使い始めた時点でのメモ

まだ運用実績はないので話半分でお願いします。

CUI ツールをインストール

$ gem install heroku
$ heroku help

SSH公開鍵を追加しておく

$ ssh-keygen -t rsa -f {/path/to/secret-key}
$ heroku keys:add {/path/to/public-key}

使えるスタックを確認

REEやMRI1.9など、スタックによって環境が異なるので、確認しておくと良い。

$ heroku stack

複数環境を運用するために

$ heroku create {APP_NAME} --stack {STACK} --remote {GIT_REMOTE_NAME}
  • アプリケーション名を指定しない場合にランダムで決定されるので指定しておくと良い
    • {APP_NAME}.heroku.com というサブドメインになるので注意
    • `heroku rename`やweb管理画面で後から変更可能
  • 使いたいスタックが決まっている場合はスタックを指定しておくと良い
    • `heroku stack:migrate`で後から変更可能
  • Heroku上に複数デプロイしたい場合はリモート名(git push で使う)を指定しておくと良い
    • 未指定の場合は heroku という名前が追加(git remote add)される
    • `git remote add`で後から追加可能

Bundler

slugのサイズ制限と起動速度のために`bundler install`の--withoutを指定しておくと良い。

$ heroku config:add BUNDLE_WITHOUT="development:test"
  • development と test のグループを除外する
  • Herokuにデプロイした際に`bundle install`されるのでローカルでインストールする必要はない(のかもしれない)
  • http://docs.heroku.com/bundler

アプリケーションの共有(Collaborators)

複数人でアプリケーションを管理したい場合、CollaboratorsとしてHerokuアカウントのメールアドレスを登録する。

  • http://docs.heroku.com/sharing
  • web管理画面か`heroku sharing:add {email}`で登録できる
  • どのHerokuアカウント(の鍵)が使われるのかは把握できてません…

アドオンを眺める

ニヤニヤしましょう。

個人的に、Deploy Hooksにドキドキしてます。

料金

運用していないので実感はありませんが、割高な気がします。Herokuの採用を決める前によく考えると良いと思いました。