もくじ
- 準備:Herokuログイン
- 準備:Gemfile修正
- 準備:git commit
- Herokuアプリ作成
- リモートリポジトリの登録
- デプロイ
- アクセス確認
準備:Herokuログイン
CLIでHerokuにログインしておく
$ heroku login
準備:Gemfile修正
- production(Heroku)で
sqlite3
を利用しないように修正しておく - production(Heroku)で
pg
を利用するように修正しておく
# Use sqlite3 as the database for Active Record
gem 'sqlite3', group: [:development, :test]
gem 'pg', group: :production
準備:git commit
ソースをコミットしておく
# アプリのディレクトリに移動する
$ cd rails-app
# 初期化
$ git init
# ディレクトリ配下のファイルをコミット対象にする
$ git add *
# コミット
$ git commit -m "Release to heroku"
Herokuアプリ作成
Herokuアプリを作成して、URLとGitリポジトリを取得する
-
<アプリ名>
は省略可能。省略するとアプリ名が自動で払い出される - 払い出されたURLがHerokuアプリのURL、Gitリポジトリとなる
# アプリのディレクトリに移動する
$ cd rails-app
# Herokuアプリを作成する
$ heroku create <アプリ名>
Creating app... done, ⬢ xxxxx-xxxxx-xxxxx
https://xxxxx-xxxxx-xxxxx.herokuapp.com/ | https://git.heroku.com/xxxxx-xxxxx-xxxxx.git
リモートリポジトリの確認・登録
リモートリポジトリherokuが作成されてることを確認する
# リモートリポジトリを確認
$ git remote
heroku
リモートリポジトリherokuが存在しない場合は、heroku create <アプリ名>
コマンド実行時に払い出されたgitリポジトリをリモートリポジトリheroku
として登録する
# リモートリポジトリを追加
$ git remote add heroku https://git.heroku.com/xxxxx-xxxxx-xxxxx.git
補足:ローカルリポジトリ作成(
git init
)後にheroku create
コマンドを実行した場合はリモートリポジトリherokuが自動で追加されますが、heroku create
コマンド実行後にローカルリポジトリを作成(git init
)した場合は、手動でリモートリポジトリherokuを追加する必要があります。
デプロイ
ローカルのmaster
ブランチをリモートリポジトリheroku
へpushする
$ git push heroku master
...
To https://git.heroku.com/mighty-beyond-37933.git
* [new branch] master -> master
アクセス確認
heroku open
コマンドを実行すると自動でブラウザが開き、HerokuアプリのURLにアクセスする
$ heroku open
または、HerokuアプリのURLにブラウザでアクセスする
https://xxxxx-xxxxx-xxxxx.herokuapp.com/
補足:Heroku Postgres
Heroku上のRailsアプリでDB(Heroku Postgres)を利用したい場合はこちらの記事をご参考ください。
参考:Heroku PostgresをRailsアプリで利用する手順 - Qiita
補足:Heroku Redis
Heroku上のRailsアプリでsessionをRedisに保存したい場合はこちらの記事をご参考ください
参考:Rails の session store に Heroku Redis を利用する - Qiita
補足:herokuコマンド
環境変数
# 環境変数一覧
$ heroku config
# 環境変数名を指定して参照
$ heroku config:get ENV_NAME
# 環境変数を追加
$ heroku config:set ENV_NAME="value"
# 環境変数を削除
$ heroku config:unset ENV_VAR_NAME