Herokuメモ

  • 5
    Like
  • 0
    Comment
More than 1 year has passed since last update.

はじめに

今まではAWSや専用サーバーなどでデプロイをしていて、初めてHerokuを使ってみたのでメモをとっておく。

デプロイ

デプロイはHerokuのページに書かれている通り。

アプリ名Deploy

の順番に辿っていけばやり方が書かれている。

// Herokuにログイン
$ heroku login

// プロジェクトが無い場合は作成する。
$ cd my-project/
$ git init

// すでにプロジェクトがある場合はこれだけでOK
$ heroku git:remote -a APP_NAME

// あとはgitと同じだが、プッシュと同時にデプロイされる。
$ git add .
$ git commit -am "make it better"
$ git push heroku master

素晴らしい!
これだけでデプロイが完了する。

Rakeタスク

デプロイ後はDBが無いためエラーで落ちてしまう。
なので、Rakeタスクを流す必要がある。

heroku run

このコマンドを使えばRakeコマンドが使えるようになる。
具体的には以下のようにコマンドを実行することができる。

heroku run rake db:migrate
heroku run rake db:seed

これで基本的なアプリなら起動するはずだ。

DB再作成

PostgreSQLはMySQLとは違い接続がある時にDBを削除できない。(MySQLはできる。)
なので、HerokuでDBを作り直す時は以下のコマンドを実行する。

heroku pg:reset DATABASE

もしくは

heroku rake db:migrate:redo STEP=10

でも可能だが、downできない状況の場合は使えない。
本番環境でこのような事をすることは無いと思うが、開発時点ではそれなりに使うことがあるだろう、

Herokuの再起動

heroku restartで再起動される。
ロールバックは

heroku releasesでバージョン確認後にheroku rollback <バージョン番号>を実行する。

バージョン情報に日付などもあるのでわかりやすい。

アプリの情報

heroku apps:infoで確認できる。

SSH接続

heroku run bashで接続が可能。

irb起動

heroku run consoleで起動する。
SSH接続よりも使う機会が多い気がする。

Herokuへ環境設定追加

heroku config:set KEY=**********
これで管理している情報は以下のコマンドで見れる。

heroku config

見ると変えてはいけない項目もあったりするので注意。
(heroku config --shellを使えば.envで使える形式で出力される。)

アプリ削除

heroku apps:destroy --app APPでアプリ削除らしい。
実行したことが無い。

無料枠

クレジットカードの登録をすれば1000 dyno hoursでしない場合は550 dyno hoursになります。
無料枠は30分アクセスが無いとsleepされる。(再びアクセスすれば起動する。)
変わりにクレジットカードを登録していない場合は550時間/月しか稼働ができないので途中でアクセスができなくなりそう。

※2016/6/3より上記が適用されたらしい。随時改定されるみたいなので注意。

おまけ

ステージングの作成

やったことは無いけどheroku fork -a APPNAME APPNAME-stgでコピーされるらしい。
DBの内容もコピーされるのでとても良い。

PostgreSQL

普段MySQLばかり使っていたので、基本的なコマンドがわからない・・・。

\l                  データベースの一覧
\d                  テーブル一覧
\d テーブル名        テーブルの項目(フィールド)確認
\i sqlファイル名     SQL(スクリプト)ファイルの実行
\q                  psqll切断

とりあえず最小限。