Heroku CLIのコマンドまとめ

よく使う Heroku CLIのコマンド

一度設定してしまうとあまり使わないので忘れないためにメモ

ログインとログアウト

heroku login

heroku CLIでプロジェクトに関する操作をする時に必要
メールアドレスとパスワードを聞かれるのでherokuに登録した時のものを入力

heroku logout

アプリケーションをブラウザで開く

heroku open

メンテナンスモード

現在の状態を確認

heroku maintenance

メンテナンスモードにする

heroku maintenance:on

メンテナンスモードを無効にする

heroku maintenance:off

ログの確認

heroku logs

リアルタイムでログの確認をしたいときは--tail又は短縮形の-tをつける

heroku logs --tail

or

heroku logs -t

件数を指定してログを表示されるする場合は-nオプションをつける

heroku logs -n 1000

最新の1000件を表示

リリースログの確認

heroku releases

で過去のリリース履歴の確認ができます。

=== my-heroku-app Releases - Current: v39
v39  Deploy c1c856dc  XXX@XXX  2018/10/12 23:52:44 +0900 (~ 17h ago)
v38  Deploy 11e631f7  XXX@XXX  2018/10/12 13:29:56 +0900
v37  Deploy 3c99bdc8  XXX@XXX  2018/10/12 00:31:12 +0900
v36  Deploy 403cf39c  XXX@XXX  2018/10/11 11:08:01 +0900
v35  Deploy ea44cd37  XXX@XXX  2018/10/11 00:32:28 +0900
v34  Deploy 1f6a308e  XXX@XXX  2018/10/10 20:40:15 +0900
v33  Deploy e18b05d3  XXX@XXX  2018/10/08 23:45:10 +0900
v32  Deploy 8bce99b1  XXX@XXX  2018/10/08 23:41:02 +0900
v31  Deploy b5ffc4ea  XXX@XXX  2018/10/08 18:42:10 +0900
v30  Deploy 86b68ec0  XXX@XXX  2018/10/08 18:16:19 +0900
v29  Deploy 50b2469a  XXX@XXX  2018/10/07 22:48:34 +0900
v28  Deploy 34df03da  XXX@XXX  2018/10/07 21:14:56 +0900
v27  Deploy 3cec40c0  XXX@XXX  2018/10/07 18:20:53 +0900
v26  Deploy 6f6a4f89  XXX@XXX  2018/10/07 17:17:06 +0900
v25  Deploy d7a45d58  XXX@XXX  2018/10/05 15:48:38 +0900

こんな感じで表示されます。

ロールバックしたい
heroku rollback v39 -a my-heroku-app Rolled back to v39

戻したいバージョンを指定してロールバックすることも可能。
heroku rollback [バージョン番号] ロールバックを行うとロールバックの履歴も残るため、ロールバックのロールバックも可能。

ステータスを確認

heroku ps

サーバーを再起動

heroku restart

でサーバーを手動で再起動できます。

このコマンドを実行しなくともherokuのサーバーは一日に一回再起動します。

Postgresにログイン

herokuのデータベースはPostgresです。SQLなどでデータベースの中身を確認したい場合はpg:psqlコマンドを使用します。

heroku pg:psql

ただしローカルの環境にpsqlがインストールされていないと利用できません。

データベースを初期化

heroku pg:reset DATABASE

DATABASE のところを置き換えるはない。
このまま、ターミナルで実行すればOK。

heroku git

heroku git:remote -a アプリ名

アプリ名はheroku上で作ったプロジェクトの名前
.gitのフォルダのある所でこのコマンドを実行するとそのリポジトリをherokuのappに紐づけることができる

コマンドを実行する

heroku run コマンド

コマンド部分にherokuサーバー上で実行したいコマンドを入力
--app アプリ名オプションをつけるとそのアプリの環境でコマンドを実行できます。

実行に時間がかかるコマンドを実行するとまれにタイムアウトが発生してしまうことがあります。
そういう時は

heroku run:detached コマンド

とする事で回避できる場合があります。
ただし、この場合はコンソールには何も出力されない点だけ注意。

一応heroku logsコマンドで実行結果は見ることができます。

環境変数を確認する

heroku config

環境変数を追加する

heroku config:set PASSWORD=pwd

PASSWORDという環境変数を設定する場合の例

環境変数の削除

heroku config:unset PASSWORD

タイムゾーンの変更

タイムゾーンを日本時間にする例

heroku config:add TZ=Asia/Tokyo

ドメイン設定を確認

heroku domains

表示例

=== e-tec-memo Heroku Domain
e-tec-memo.herokuapp.com

herokuのアプリごとにどのようなドメインが割り当てられているか確認できます。 --app アプリ名で個別に確認することも可能。

アドオンの確認

heroku adons

アドオンの追加

heroku adons:add アドオン名

アプリの一覧を表示

heroku list

アプリを削除する

heroku apps:destroy --app アプリ名

アプリ名を再入力すると削除完了する。

確認なしで削除する場合

heroku apps:destroy --app アプリ名 --confirm アプリ名

複数アプリケーションの管理

ほとんどのコマンドで--app アプリ名オプションをつけることで個別にコマンドを実行できます。

heroku コマンド --app アプリ名