Skip to content

Instantly share code, notes, and snippets.

@ayumin
Created May 3, 2012 11:26
Show Gist options
  • Save ayumin/2585092 to your computer and use it in GitHub Desktop.
Save ayumin/2585092 to your computer and use it in GitHub Desktop.
2012-05-03に実施したHerokuチュートリアル

2012-05-03 Ikezawa

heroku

HerokuアプリケーションはDynoごとに分割された環境で実行される。 Dynoの種類(プロセスタイプ)はProcfileで定義される。

web: bundle exec thin -p $PORT -e $RACK_ENV start
clock: clockwork likes.rb

上記のProcfileの場合、webとclockで定義される2種類のプロセスタイプが定義される。 アプリケーションはheroku ps:scaleコマンドを用いて、プロセスタイプごとに独立にDynoの増減(スケール)を行うことが可能。

heroku ps:scale web=3 clock=2

上記のコマンドではwebプロセスに対して3つ、clockプロセスに対して2つのDynosを割り当てている。 現在、それぞれのプロセスタイプにいくつのDynoが実行されているかはheroku psコマンドで確認することができる。

SSH接続

デプロイしたアプリケーション実行環境に直接接続して挙動を確認したい場合は、heroku run bashコマンドを利用する。heroku run bashコマンドを実行すると、bashを実行するための新たなDynoが起動し端末に接続される。

個別のDyno環境の中ではファイルの削除などを行ったとしても、他のDynoには影響を及ぼさないため安全に環境の内容を確認することができる。

外部サービスの利用

Herokuのアプリケーションは、アドオンを用いて機能を追加することができる。 addons.heroku.com から、またはheroku addon:addコマンドでアプリケーションにアドオンを追加できる。

heroku addons:add redistogo:nano

RedisToGoの場合は、アドオンを追加するとherokuの環境変数にRedisサーバ接続するための接続情報環境変数に設定される。詳しい利用方法は、Heroku DevCenterの該当ページを参照。

環境変数

アプリケーションに設定されている環境変数の内容はheroku configコマンドで確認することができる。また、アプリケーションに独自の環境変数を設定する場合はheroku config:adコマンドを利用する。

heroku config:add FOO=bar

上記の例では、FOOという名前の環境変数を定義し、値にURLを設定している。なお、既に同名の環境変数がある場合は、値が上書きされる。

定義した環境変数を削除したい場合は、heroku config:removeコマンドを利用する。

heroku config:remove FOO
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment