もた日記

くだらないことを真面目にやる

Railsメモ(32) : Herokuへのデプロイ手順を確認する

これまでに試作したアプリを公開するためにHeroku(発音はヘロク派が多いのかな)をデプロイ先として試してみる。
アプリの実行環境とデータベースを調べてみたが、お試しアプリ程度であれば無料枠内でできそうな感じ。

  • Dynos : Free
    • 512 MB RAM
    • 1 Web/1 Worker
    • SLEEPS AFTER 30MINS OF INACTIVITY
    • MUST SLEEP 6 HOURS IN 24 HOUR PERIOD
    • CUSTOM DOMAINS
  • Heroku Postgres : Hobby Dev
    • Row Limit 10000
    • Connection Limit 20

サンプルアプリを用いたHerokuへのデプロイ手順は下記ページに書いてあり参考になる。

devcenter.heroku.com

全体は以下のような流れになっている。

  • Introduction
    • Herokuアカウントを作成する
    • Ruby 2.2.3をインストールする
    • Bundlerをインストールする
  • Set up
    • Heroku Toolbeltというコマンドラインツールをインストールする
    • heroku loginでログインできることを確認する
  • Prepare the app
    • デプロイするサンプルアプリをgit cloneする
  • Deploy the app
    • heroku createでHerokuにアプリを作成する(アプリ名は指定しないのでランダム)
    • git push heroku masterでHerokuにデプロイする
    • heroku openでデプロイしたアプリをブラウザで開く
  • View logs
    • heroku logs --tailでアプリのログを閲覧する
  • Define a Procfile
    • Procfileでアプリ開始時に実行するコマンドを指定する
  • Scale the app
    • heroku psでdyno数を確認する
    • デフォルトだとfree dyno(アクセスがないとスリープ状態へ移行)になる
  • Declare app dependencies
    • GemfileにRubyのバージョンを指定する
    • Herokuへデプロイするとbundle installが実行される
    • HerokuではPostgreSQLを使用するのがお勧めらしいのでGemfileにpgを記述する
    • ローカルでも動作させるためにはローカル環境へPostgreSQLをインストールする
  • Run the app locally
    • ローカルでアプリを動作させるためにbundle exec rake db:create db:migrateする
    • heroku localコマンドでProcfileをもとにアプリを起動する(localhost:5000で動作)
  • Push local changes
    • ローカルの変更をPushするためにはgit commitしてgit push heroku masterする
  • Provision add-ons
    • heroku addonで使用しているアドオンを確認する
    • 例えばpapertrailアドオンを追加するにはheroku addons:create papertrailとする
  • Start a console
    • heroku run rails consoleでデプロイしたアプリに対してRails Consoleを実行する
    • heroku run bashでデプロイしたアプリに接続する
  • Define config vars
    • heroku configで現在の環境変数を確認する
    • heroku config:set TIMES=10環境変数を設定する
    • heroku local実行時には.envファイルに環境変数を記述する
  • Use a database
    • データベースはアドオンとして提供されている
    • heroku pgPostgreSQLの情報を表示する
    • heroku pg:psqlでPostgerSQLに接続する
  • Next step
    • 次に読むべきお勧め記事など


わかりやすく特に引っかかる部分もなかったが以下はメモ。
Heroku ToolbeltはOSごとに選択肢があるが、CentOSという表記はなかったのでStandaloneを選択した。
選択するとダイアログに下記インストール方法が表示される。

# Run this from your terminal:
# Please ensure that you have Ruby installed.
wget -qO- https://toolbelt.heroku.com/install.sh | sh

実行したところ問題なくインストールできた。

$ wget -qO- https://toolbelt.heroku.com/install.sh | sh
This script requires superuser access to install software.
You will be prompted for your password by sudo.
Add the Heroku CLI to your PATH using:
$ echo 'PATH="/usr/local/heroku/bin:$PATH"' >> ~/.profile
$ heroku version
heroku-toolbelt/3.41.4 (x86_64-linux) ruby/2.2.2
You have no installed plugins.


その他、papertrailアドオンを追加する項目があったが、実行してみると下記メッセージが表示された。どうやらクレジットカード情報などを入力する必要があるらしく面倒くさいのでスキップした。

$ heroku addons:create papertrail
 !    Please verify your account to install this add-on plan (please enter a credit card) For more information, see https://devcenter.heroku.com/categories/billing Verify now at https://heroku.com/verify


これでデプロイ方法はなんとなくわかったので、次ステップで試作したアプリをデプロイしてみる。

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails