LoginSignup
1
0

More than 3 years have passed since last update.

[Rails]ノーエラーでherokuへデプロイしていく

Posted at

はじめに

本記事ではローカル環境で開発したrailsアプリケーションをherokuへデプロイしていく方法いついてまとめてあります。

前提条件

・Rails 6.0.0
・herokuアカウントを所持している
・MySQLを使用

デプロイ方法

まずは、HerokuCLIをインストールしていきます。
なお、ここから以下のコマンドは自身のアプリケーションフォルダー内で行うことを推奨します。

% brew tap heroku/brew && brew install heroku

インストール完了後に確認しましょう

% heroku --version

ここからherokuにログインします。

# Herokuへログインするためのコマンド
% heroku login --interactive
  => Enter your Heroku credentials.
# メールアドレスを入力し、エンターキーを押す
  => Email:
# パスワードを入力して、エンターキーを押す
  => Password:

さて、下準備はOKです。
ここから、実際にデプロイ手順を見ていきます。
まずは,heroku上でのアプリケーション名を作成します。ここでは、soccer_appにします。

% heroku create soccer_app

さて、一応確認のため、以下のコマンドを打ちましょう

% git config --list | grep heroku

fatal: not in a git directoryが出ていなければOK!!

さて、ここからデータベースの設定です。
今回は開発環境と同様にMySQLを使用するための設定を行います。ClearDBアドオンを追加することによって設定できます。

% heroku addons:add cleardb

ClearDBアドオン(参考)

ClearDBというデータベースサービスが提供しているアドオンで、これを追加することにより、HerokuでMySQLを使用できるようになります。


これでOK!!!と見せかけて、まだ設定は完璧ではありません。Ruby on Railsを使う場合は、MySQLに対応するGemについて考慮する必要があります。以下のコマンドでClearDBデータベースのURLを変数heroku_cleardbに格納します。

 % heroku_cleardb=`heroku config:get CLEARDB_DATABASE_URL`

上記を踏まえ、今一度データベースのURLを再設定します。

% heroku config:set DATABASE_URL=mysql2${heroku_cleardb:5}

ゴールまで後少しです。

以下のコマンドで、credentials.yml.encをmaster.keyによって復号し、中身を確認します。

EDITOR="vi" bin/rails credentials:edit

master.keyファイル

credentials.yml.encの暗号文を復号する、鍵の役割を持ったファイルです。特定のcredentials.yml.encと対になっている。

credentials.yml.encファイル

Railsにて、外部に漏らしたくない情報を扱う際に用いるファイル

次に、heroku上に環境変数としてmaster.keyの値を設置します。
(今は先ほど確認したようにローカルにある)

% heroku config:set RAILS_MASTER_KEY=`cat config/master.key`

確認したい場合は以下のコマンドで確認

% heroku config

次にStackの準備です
Stackとは、Herokuにおけるアプリケーションの動作環境のことです。Stackはデプロイされたアプリケーションを読み取り正常に稼働させるために用意されています。

heroku stack:set heroku-18 -a soccer_app

いよいよラストスパート
Herokuへアプリケーションの情報を追加しましょう。

% git push heroku master

また、DBにもマイグレーションの情報を反映します
 

% heroku run rails db:migrate

これで完了です!!!!!!
あとは、URLを打ち込んで見てみましょう、、、
ってわからねえ!!
そんなときは、以下のコマンドで確認してみましょう!!

% heroku apps:info

おわりに

いかがでしたか
ノーエラーでというのはなかなか大変かもしれませんが、頑張ってみてください!!!

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