【デプロイ】GitリポジトリにあるRailsアプリをHerokuでデプロイする
こんにちは😊Kintarouです。
現在エンジニア転職を目指してTECH CAMPにてプログラミング学習中です👨🎓
夢はフリーランスエンジニアになって働く人が働きやすいシステムを作ること!
と、愛する妻と海外移住すること🗽
プログラミングや読んでいる本のことなど、ブログに書いていきます!
twitter : https://twitter.com/ryosuke_angry
今回参考にさせて頂いたサイト様🙇♂️
Getting Started on Heroku with Rails 6.x | Heroku Dev Center
Herokuにアプリをデプロイする
Heroku
アプリケーションの公開、運用を行うためのサーバーを提供するサービスです。
Gitのリポジトリを簡単にデプロイする事が出来ます。
※以下はHerokuのアカウント登録と支払い情報登録を済ませた後の話です。
Herokuにログインする
メールアドレスやパスワードを入力しますが、これはHerkouに登録したアカウントのものです。
% heroku login --interactive =>Enter your Heroku credentials. =>Email: #メールアドレスを入力 =>Password: #パスワードを入力
rails_12factorのGemを導入する
rails_12factorは静的アセットファイルやログの保存先をHeroku用に調整してくれるGemです。
# アプリのGemfile内最下部 group :production do gem 'rails_12factor' end
その後インストール
#以下、デプロイするアプリのディレクトリにて %bundle install
変更内容はリポジトリに反映させておきましょう。
Heroku上にアプリを作る
リポジトリにあるアプリをHeroku上で作成します。この際リポジトリにあるアプリと同じアプリ名でなくても大丈夫ですが、わかりやすいものにしましょう。
% heroku create (アプリ名)
Heroku上にDBを作る
今回はMySQLを使用する設定を行います。(デフォルトはPostgreSQL)
heroku addons:add cleardb
mysql2のGemを利用している場合
設定を変更しておきましょう。
#ClearDBのデータベースのURLを変数(heroku_cleardb)に格納 %heroku_cleardb=`heroku config:set CLEARDB_DATABASE_URL` %heroku config:set DATABASE_URL=mysql2${heroku_cleardb:5} #DATABASE_URLの頭がmysql2://となる
Heroku上で環境変数にmaster_keyを設定する
master_keyはセキュリティ上gitで管理できないため、環境変数にしましょう。
%heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
※Basic認証を利用している場合はそちらも格納しましょう
%heroku config:set BASIC_AUTH_USER="******" %heroku config:set BASIC_AUTH_PASSWORD="******"
Heroku上にコミットをプッシュする
% git push heroku master
更新したgitのリポジトリをHeroku上に反省する場合は都度このコマンドでプッシュします。
Heroku上でマイグレーションファイルを実行する
% heroku run rails db:migrate
その他主なHerokuコマンド
heroku apps:info
公開されたアプリケーションの詳細を確認する。
heroku logs
Herokuアプリケーションが稼働したログを表示する。
※--tailオプションをつける事でログの最後の10行を表示する。
%heroku logs --tail --app (アプリ名) #アプリを指定する場合は--appをつける
以上、どなたかの参考になれば幸いです😊