CodeZine(コードジン)

特集ページ一覧

これで作業がサクサク進む! 開発・運用でよく使うherokuコマンドリファレンス

Herokuでスタート! はじめてのPaaSアプリケーション開発 第5回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/02/18 14:00

目次

heroku apps

アプリケーション指定 不要
オプション引数 -r(--remote)、--regionなど

 heroku appsは、アプリケーションの作成/廃棄に関連するコマンドを実行します。

 サブコマンドなしで「heroku:apps」とのみタイプした場合は、ログインアカウントから参照可能なアプリケーションの一覧が表示されます。

 

heroku [apps:]create

アプリケーション指定 不要
引数 [NAME]
オプション引数 -r(--remote)、--regionなど

 heroku [apps:]createコマンドは、新しいHerokuアプリケーションを作成します。

 NAMEを省略した場合には、アプリケーション名はHerokuによって自動生成されます。

 NAMEを指定する場合には、その値は世界中のHerokuアプリケーション間でユニークである必要があります(その名前がherokuapp.comのサブドメインとなり、インターネット上に公開されるためです)。

 NAMEには英小文字、数字、-(ハイフン)のみが使用できます。

 コマンドを実行したディレクトリが、

  • gitリポジトリとして管理されており、
  • git remote にherokuのリポジトリが登録されていない場合

 には、アプリケーション作成と同時にgit remoteに「heroku」という名前でherokuのリポジトリが登録されます。このため、アプリケーション作成時に前もって「git init」を実行しておくことで、git remoteにherokuのリポジトリを登録する作業を省くことができます。

 git remote登録の名前に「heroku」以外の名前を使用したい場合や、2つ以上のheroku アプリケーションを同じgitリポジトリに関連付けたい場合には、「-r」オプションで名前を指定することができます。

$ heroku create myapp -r prod

 実際にアプリケーションをHerokuで運用する場合には、開発環境、本番環境、ステージング環境などの複数のアプリケーションが1つのgitリポジトリに紐づくことが普通なので、このオプションを使用する機会は少なくありません(もちろんgit remote addで後から追加することもできます)。

 --regionオプションはherokuアプリケーションを作成する場所を指定するオプションです。現在は「us」(アメリカ東海岸)と「eu」(ヨーロッパ)のいずれかを指定できます(デフォルトはus)。

 主に使用される場所が日本の場合、このオプションを使用してeuを指定するメリットはまったくありません(euはusよりもさらに遠いので……)。東京リージョンの設立が待たれます。

 

heroku [apss:]destroy

アプリケーション指定 必要
オプション引数 --confirm

 heroku destroyは、アプリケーションを完全削除するためのコマンドです。

 破壊的なコマンドであるため、コマンド実行時にはアプリケーション名の再入力が求められます(ただし、オプション引数の--confirmであらかじめアプリケーション名を入力しておいた場合には、アプリケーション名の確認をスキップできます)。

 アプリケーションを削除するとAdd-onも同時に削除され、二度と元に戻せないので、実行には十分注意ください。

 

heroku apps:open

アプリケーション指定 必要
オプション引数 なし

 heroku apps:openコマンドは、指定したアプリケーションのURL(http://APPNAME.herokuapp.com)をデフォルトのブラウザで開きます。

 ちょっとしたテストアプリケーションを、アプリケーション名を指定せずに作成し、動作を確認する場合などに便利です。

 

heroku config

アプリケーション指定 必要
オプション引数 -s(--shell)

 heroku config は、環境変数関連の操作を行うためのコマンドです。

 サブコマンドを指定せずに実行した場合には、環境変数の一覧が表示されます。環境変数の一覧は通常、変数名と値が「:」で区切られ、値の開始位置が揃った状態で表示されますが、「-s」を指定した場合、名前と値が「=」で区切られた形式で表示されます。

 

heroku config:set

アプリケーション指定 必要
引数 NAME=VALUE[ NAME=VALUE]
オプション引数 なし

 heroku config:setは、環境変数を設定するコマンドです。

 NAME=VALUEの形式で環境変数を設定します。設定する環境変数は、スペース区切りで複数指定することができます。

 

heroku config:get

アプリケーション指定 必要
引数 NAME=VALUE[ NAME=VALUE]
オプション引数 なし

 heroku config:getは、環境変数名を指定して、その値を取得するコマンドです。

 返り値は値のみで、余分な情報は一切付加されません。このため、シェルスクリプト内で環境変数を得る場合などに利用しやすくなっています。

 

heroku logs

アプリケーション指定
オプション引数 -n(--num)、-t(--tail)、-p(--ps)、-s(--source)

 heroku logsは、アプリケーションのログを表示するコマンドです。デフォルトでは、直近の100行程度のログがコンソールに表示されます。

 -nオプションで行数を指定できます。ただし、表示できるのは最大1,500行までで、それ以前のログを参照したい場合には、何らかのログAdd-onを入れる必要があります。

 -tオプションを指定すると、UNIXコマンドのtailのように新しいログ出力に追随して出力されるようになります。

 -p、-sオプションはそれぞれプロセス名、ソースでログをフィルタリングするオプションです。

 

heroku ps

アプリケーション指定 必要
オプション引数 なし

 heroku psは、Dynoを操作するためのコマンドです。サブコマンドなしでコマンドを実行すると、現在起動中のDynoの一覧が表示されます。

 

heroku [ps:]restart

アプリケーション指定 必要
引数 [DYNO]
オプション引数 なし

 heroku restartは、Dynoを再起動させるコマンドです。引数なしでコマンドを実行した場合には、アプリケーションで起動中のすべてのDynoが再起動します。

 引数として「web」を指定するとweb Dynoすべて、「web.1」のように指定すると特定の1Dynoのみが再起動します。

 

heroku [ps:]scale

アプリケーション指定 必要
引数 DYNO=AMOUNT
オプション引数 なし

 heroku scaleは、Dynoの数を調整するコマンドです。引数で「web=2」のようにDynoのプロセスごとの数を指定します。また、「web=2:2x」のようにコロンに続けてDynoサイズを指定することも可能です。

 Dyno数には0も指定できます。0を指定した場合、そのDynoが行っていた処理は一切動かなくなります。Dyno数は課金の単位でもあるので、常時起動している必要のないWorker Dynoなどでは、スケジュールで計画的にDyno数を0にすることもあります。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Herokuでスタート! はじめてのPaaSアプリケーション開発

著者プロフィール

  • 小西 俊司(コニシ シュンジ)

    株式会社Giveryに所属するエンジニア。CODEプロジェクトというエンジニアの成長を促進するプラットフォーム開発のテックリード。Herokuも使った新しいプロダクトを今秋リリース予定。

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5