大田区から発信するゆるゆる日記

主にITエンジニアに関する備忘録日記。たまに趣味も。何か不備があればコメント頂けると幸いです。Twitterアカウント https://twitter.com/ryuzan03

初めてのポートフォリオ作成 #2

今回は「初めてのポートフォリオ作成」の#2です。

 

過去の日記はこちら

初めてのポートフォリオ作成 #0 - 大田区から発信するゆるゆる日記

初めてのポートフォリオ作成 #1 - 大田区から発信するゆるゆる日記

 

MySQLを使ったRailsアプリをherokuにデプロイしたので、その内容を書きます。

 

※下記の内容に不備がありましたら、コメント頂けると幸いです。また、下記の内容をご使用頂ける場合は自己責任でお願いします。 

【目次】

環境

macOS 10.14.4

rails 5.2.3

ruby 2.6.3

mysql2 0.5.2

 

デプロイ手順

railsアプリを作成する

②herokuに登録

③herokuのtoolbeltをインストール

④herokuのデータベース設定を行う

mysqlをローカルにインストール

⑥bundle install

⑦git push heroku master

 

デプロイ

railsアプリを作成する

$ rails new アプリ名 -d mysql

※「-d」は必ず小文字で。 

 

MySQLをローカルにインストール

$ brew install mysql

※rootユーザーでMySQLにログインできるか、下記のコマンドを入力して確認。

$ mysql -u root

 

③herokuに登録

クラウド・アプリケーション・プラットフォーム | Heroku 

 

④herokuのtoolbeltをインストール

コマンドラインツールでherokuを操作するためのツール(herokuコマンド)をインストールします。

The Heroku CLI | Heroku Dev Center

$ brew install heroku/brew/heroku
or
$ brew install heroku-toolbelt

 

⑤herokuのデータベース設定を行う

◆herokuにログインする

$ heroku login

※「$ heroku login」コマンドは、内部で「~/.sshディレクトリ内の公開鍵(SSH鍵)をHerokuに登録しているようです。

 

◆herokuにアプリを作成する。

<Railsアプリ名 ユーザー名>$ heroku apps:create [アプリ名]

※[アプリ名]には、herokuで既に登録されているアプリ名は使えない。

※[アプリ名]は、英数字とハイフンしか使えない。

※アプリがリモートリポジトリに作成されたか確認するには、下記のコマンドを入力する。

$ git remote -v

 

◆herokuにClearDB(MySQL)アドオンを「igniteプラン」で追加する。

$ heroku addons:create cleardb:ignite

 ※以下のエラーが出た場合は、herokuアカウントでクレジットカード情報の登録が必要です。「igniteプラン」であれば、クレジットカード情報を登録しても、料金が発生することはないらしい。

詳細はClearDB MySQL - Add-ons - Heroku Elementsを確認してください。

▸    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

 

◆ClearDBのURLを確認し、環境変数を設定する。

・ClearDBのURLを確認

$ heroku config
CLEARDB_DATABASE_URL: mysql://ユーザー名:パスワード@ホスト名/データベース名?reconnect=true

 

環境変数を設定

$ heroku config:add DB_NAME='データベース名'
$ heroku config:add DB_USERNAME='ユーザー名'
$ heroku config:add DB_PASSWORD='パスワード'
$ heroku config:add DB_HOSTNAME='ホスト名'
$ heroku config:add DB_PORT='3306'
$ heroku config:add DATABASE_URL='mysql2://ユーザー名:パスワード@ホスト名/データベース名?reconnect=true'

※ClearDBのURLを参考に上記のコマンドをターミナルで実行してください。

MySQLは、mysql2 gemを使っているので、「DATABASE_URL」は「mysql2」で始めてください。

 

環境変数を確認する。

$ heroku config
CLEARDB_DATABASE_URL: mysql://ユーザー名:パスワード@ホスト名/データベース名?reconnect=true
DATABASE_URL:         mysql2://ユーザー名:パスワード@ホスト名/データベース名?reconnect=true
DB_HOSTNAME:          ホスト名
DB_NAME:              データベース名
DB_PASSWORD:          パスワード
DB_PORT:              3306
DB_USERNAME:          ユーザー名

 

⑥「bundle install」を実行する 

<Railsアプリ名 ユーザー名>$ bundle install 

 

⑦「git push heroku master」を実行する

<Railsアプリ名 ユーザー名>$ git push heroku master

 

今後に向けて

今回もエラーが多発したので、そのエラーについて今後書いていきます。

 

Xcodeについても調べないとなー

 

参考サイト

Herokuへのデプロイ方法【Heroku+Rails+MySQL】 - Qiita