LoginSignup
21
24

More than 5 years have passed since last update.

Herokuメモ

Posted at

はじめに

今までは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切断

とりあえず最小限。

21
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
24