heroku で利用できる コマンド

シェアする

heroku コマンドを使用する事で様々な操作を行う事ができる。とりあえず自分が試してみたものや見つけたものをメモ。

Sponsored Links

ログインする

heroku login コマンドでログインできる。

$ heroku login
Enter your Heroku credentials.
Email: hoge@example.com
Password (typing will be hidden):
Your Heroku account does not have a public ssh key uploaded.
Found an SSH public key at /home/hoge/.ssh/id_rsa.pub
Would you like to upload it to Heroku? [Yn] y
Uploading SSH public key /home/hoge/.ssh/id_rsa.pub... done
Authentication successful.

メールアドレスとパスワードを入力し、公開鍵をアップロードする必要がある。公開鍵はなければつくろう。

アプリを作成する

heroku create コマンドでアプリを作成できる。

$ heroku create
Creating afternoon-reaches-9404... done, stack is cedar-14
https://afternoon-reaches-9404.herokuapp.com/ | git@heroku.com:afternoon-reaches-9404.git
Git remote heroku added

アプリを削除する

heroku destroy でアプリ名を指定することでアプリを削除できる。

$ heroku destroy --app hoge-railstutorial

 !    WARNING: Potentially Destructive Action
 !    This command will destroy hoge-railstutorial (including all add-ons).
 !    To proceed, type "hoge-railstutorial" or re-run this command with --confirm hoge-railstutorial

> hoge-railstutorial
Destroying hoge-railstutorial (including all add-ons)... done

アプリの情報を表示

info コマンドで現在のアプリの情報を表示できる。

$ heroku info
=== hoge-railstutorial
Addons:        heroku-postgresql:hobby-dev
Dynos:         1
Git URL:       git@heroku.com:hoge-railstutorial.git
Owner Email:   hoge@example.com
Region:        us
Repo Size:     568k
Slug Size:     26M
Stack:         cedar-14
Web URL:       https://hoge-railstutorial.herokuapp.com/
Workers:       0

アプリの一覧を表示

list コマンドを使用するとアプリの一覧を出せる。

$ heroku list
=== My Apps
hoge-railstutorial

アプリの名前を変更

heroku create した段階では適当に作られる名前を自分の好きなように変更するには heroku rename を使用する。heroku 全体でユニークである必要があるらしい。

$ heroku rename hoge-railstutorial
Renaming afternoon-reaches-9404 to hoge-railstutorial... done
https://hoge-railstutorial.herokuapp.com/ | git@heroku.com:hoge-railstutorial.git
Git remote heroku updated

git remote も書き換えてくれる。

ステータスのチェック

異常があったら何か表示されるのだろうか。今のところ正常な場合しか見てない。

$ heroku status
=== Heroku Status
Development: No known issues at this time.
Production:  No known issues at this time.

ログを見る

もちろんログも。コマンドは log じゃなくて logs なのでよく間違えそう。

$ heroku logs
2014-11-12T09:58:58.815949+00:00 app[web.1]:   vendor/bundle/ruby/2.1.0/gems/activesupport-4.1.7/lib/active_support/tagged_logging.rb:68:in `tagged'
2014-11-12T09:58:58.815972+00:00 app[web.1]:   vendor/ruby-2.1.4/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `service'
2014-11-12T09:58:58.815950+00:00 app[web.1]:   vendor/bundle/ruby/2.1.0/gems/railties-4.1.7/lib/rails/rack/logger.rb:20: in `call'
...

heroku logs には以下の引数も利用できる。

$ heroku logs --help
 -n, --num NUM        # 何行表示するか
 -p, --ps PS          # 指定したプロセスのみ表示
 -s, --source SOURCE  # 指定したソースのみ表示
 -t, --tail           # リアルタイム表示

メンテナンスモード

heroku maintenance コマンドによりメンテナンス画面のオン/オフを切り替えれる。

$ heroku maintenance:on
Enabling maintenance mode for hoge-railstutorial... done
$ heroku maintenance:off
Disabling maintenance mode for hoge-railstutorial... done

コマンドを実行する

heroku サーバ上でコマンドを実行するには heroku run を使用する。以前は heroku console が利用できたようだが現在このコマンドは削除されているようだ。

irb を実行してみる。

$ heroku run irb
Running `irb` attached to terminal... up, run.2394
irb(main):001:0> 1 + 1
=> 2

bash を実行、ファイルの一覧を表示。

$ heroku run bash
Running `bash` attached to terminal... up, run.3615
~ $ ls
app  bin  config  config.ru  db  Gemfile  Gemfile.lock  lib  log  public  Rakefile  README.rdoc  test  tmp  vendor

heroku 上でデータベースを作成する場合もローカルで行う時のコマンドに heroku run をつければ良い。

$ heroku run rake db:migrate

レスポンス悪いがきっとサーバが遠いからだろう。

環境変数を見る/設定する

heroku config を使用すると環境変数を見たり設定したりできる。

何も指定しないと一覧を表示する。

$ heroku config
=== hoge-railstutorial2 Config Vars
DATABASE_URL:               postgres://example:hoge@fuga.amazonaws.com:5432/piyo
HEROKU_POSTGRESQL_GRAY_URL: postgres://example:hoge@fuga.amazonaws.com:5432/piyo
LANG:                       en_US.UTF-8
RACK_ENV:                   production
RAILS_ENV:                  production
SECRET_KEY_BASE:            0ca642...

set/get で値を設定、指定したKEYの値を取得できる。

$ heroku config:set LANG=ja_JP.UTF-8
Setting config vars and restarting hoge-railstutorial2... done, v10
LANG: ja_JP.UTF-8
$ heroku config:get LANG
ja_JP.UTF-8

unset で削除できる。

$ heroku config:unset TESTKEY
Unsetting TESTKEY and restarting hoge-railstutorial2... done, v12

stack

$ heroku stack
=== hoge-railstutorial2 Available Stacks
  bamboo-mri-1.9.2
  bamboo-ree-1.8.7
  cedar
* cedar-14

変更するには heroku stack:set をやる。

$ heroku stack:set cedar-14

dyno を再起動する

heroku restart コマンドで再起動できる。

$ heroku restart
Restarting dynos... done

ブラウザで開く

自分は VPS 上で行っているので使えないが、heroku open コマンドでアプリをブラウザで開く事ができる。

$ heroku open
Opening hoge-railstutorial... xprop:  unable to open display ''

ブラウザが無い以前にディスプレイが無いのでもちろん開けない。

Sponsored Link

シェアする

フォローする