0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rails アプリをHerokuにデプロイする方法

Last updated at Posted at 2021-02-03

本記事の内容と目的

  • 内容は、作成したアプリをHerokuにデプロイする方法と更新方法です。
  • Herokuへのデプロイをスムーズにできるようにする事を目的とします。

RailsアプリをHerokuにデプロイ

  • まずはデプロイするアプリのディレクトリまで移動します。
% cd ~/projects/"アプリ名"
  • 次にターミナルのコマンド操作でHerokuにログインします。
% heroku login --interactive

  => Email:
# メールアドレスを入力し、エンターキーを押す

  => Password:
# パスワードを入力して、エンターキーを押す
  • 次にアプリをHerokuへデプロイする為に必要なGemをインストールします。
  • アプリのGemfileにの末尾に下記のように記述しましょう。
  • 下記Gemはrailsのバージョンが4以前でのみ必要があったようです。
  • バージョン5以降は必要ないとのことでした、、、すみません。
  • 詳しくは、Herokuの公式に記載があります。
  • https://devcenter.heroku.com/articles/getting-started-with-rails6
  • 以前のバージョンでは、Herokuのロギングを有効にする為に下記Gemを使われていたそうですが、Rails のバージョン5以降では必要ないそうです!
group :production do
  gem 'rails_12factor'
end
  • 記述が終わったらターミナルでインストールを実行しましょう。
  • 今回はMySQL2を使用する為、Herokuのデフォルト設定であるClearDBをアドオンしてから、MySQL2の環境を構築します。
% bundle install

% git add .

% git commit -m "gem rails_12factorの追加"
#↑Gemのインストールとそれをマスターリポジトリに反映している。

% heroku create "アプリ名" 

% heroku addons:add cleardb
#↑MySQL2を構築する為、clearDBをアドオンする

% heroku_cleardb=`heroku config:get CLEARDB_DATABASE_URL`
#↑ClearDBのURLを変数に格納する、MySQL2を構築する際に必要。

% heroku config:set DATABASE_URL=mysql2${heroku_cleardb:5}
#↑MySQL2の環境を構築する
  • ここまでで、Heroku上でMySQL2の構築ができました。
  • Herokuにアプリをデプロイする為に、アプリのMaster.keyをHeroku上にセットする必要があります。
※アプリのMaster.keyとは:
  • 外部に漏らしたくない情報を扱うファイルであるcredential.yml.encの対になるファイルで、credential.yml.encを復号して記述内容を確認することができます。
  • デプロイする本番環境でもcredential.yml.encを使用できるようにするには、Master.keyを本番環境のHeroku上で設定する必要があります。
  • Heroku上にMaster.keyを設定する際は、外部に漏れないように環境変数で設定します。

それでは早速Master.keyを設定していきましょう!

% heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
#↑RailsのMaster.keyがconfigディレクトリ上にある為、catコマンドで読み取って、RAILS_MASTER_KEYという環境変数に格納しています。
  • Master.keyを設定できたのでこれでデプロイができます。
  • ターミナルの下記コマンドでデプロイしていきます。
% git push heroku master
#↑Gitで管理しているリモートリポジトリをHerokuにデプロイします。

% heroku run rails db:migrate
#↑Heroku上で構築したデータベースにマイグレーションを実行します。

  • これでデプロイは完了です!お疲れ様でした!!
0
1
2

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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?