2012-05-03 Ikezawa
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
コマンドで確認することができる。
デプロイしたアプリケーション実行環境に直接接続して挙動を確認したい場合は、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