公式ドキュメントにすべてが書いてます。
http://fuelphp.jp/docs/1.7/general/environments.html  (日本語訳)
用意されている環境
DEVELOPMENT
PRODUCTION
STAGING
TEST
デフォルトではDEVELOPMENTの環境として動作している。環境を変えると、動作時に読み込むconfigが変わります。
fuel/app/config/development //develop環境時のみ読み込み
               /production  //production環境時のみ読み込み
               /staging  // staging環境時のみ読み込み
               /test  // test環境時のみ読み込み
テスト環境と本番環境で、読むconfigを変えたい場合に使います。
特に使うのはDB周りの設定です。
設定方法
PRODUCTION環境で動くように設定を変更する例です。
方法A bootstrap.phpの書き換え
bootstrap.phpを書き換える事で環境切り替えができます
/**
 * Your environment.  Can be set to any of the following:
 *
 * Fuel::DEVELOPMENT
 * Fuel::TEST
 * Fuel::STAGING
 * Fuel::PRODUCTION
 */
//Fuel::$env = (isset($_SERVER['FUEL_ENV']) ? $_SERVER['FUEL_ENV'] : Fuel::DEVELOPMENT);
Fuel::$env = (isset($_SERVER['FUEL_ENV']) ? $_SERVER['FUEL_ENV'] : Fuel::PRODUCTION);
が、gitとかでソースを管理してると面倒です。
個人的には次の方法Bの方がいいと思います。
方法B Apacheで環境変数を設定
Apacheの設定で環境変数を指定します。開発環境と本番環境のソースを同じにできるので、こっちの方がおすすめです。
<VirtualHost *:80>
    DocumentRoot /home/fuel/public
    ServerName example.com
    SetEnv FUEL_ENV production
</VirtualHost>
何らかの原因で本番環境時に環境変数が取れなかった時を考えて、本番環境時にはbootstrap.phpも編集して、デフォルトでPRODUCTION環境で動くようにしておくのがよいのではないかと思います。
oilコマンドでの指定
例えばPRODUCTIONの環境で動かしたい場合は以下のようにoilコマンド前にFUEL_ENVを入れます。
FUEL_ENV=production php oil refine migrate
はまった所
FuelPHPのバージョン1.3くらいまでApacheやoilでの環境変数の指定は大文字だったが、1.6以降ぐらいからは小文字での指定になってました。
SetEnv FUEL_ENV PRODUCTION
これはダメで
SetEnv FUEL_ENV production
これだとOKです。
地味にはまりました。